Java HTML
Switch branches/tags
jsf-spring-boot-parent-1.6.1 jsf-spring-boot-parent-1.6.0 jsf-spring-boot-parent-1.5.1 jsf-spring-boot-parent-1.5.0 jsf-spring-boot-parent-1.4.2 jsf-spring-boot-parent-1.4.1 jsf-spring-boot-parent-1.4.0 jsf-spring-boot-parent-1.3.0 jsf-spring-boot-parent-1.2.1 jsf-spring-boot-parent-1.2.0 jsf-spring-boot-parent-1.1.0 jsf-spring-boot-parent-1.0.0 jsf-spring-boot-build-2.4.2 jsf-spring-boot-build-2.4.1 jsf-spring-boot-build-2.4.0 jsf-spring-boot-build-2.3.9 jsf-spring-boot-build-2.3.8 jsf-spring-boot-build-2.3.7 jsf-spring-boot-build-2.3.6 jsf-spring-boot-build-2.3.5 jsf-spring-boot-build-2.3.4 jsf-spring-boot-build-2.3.3 jsf-spring-boot-build-2.3.2 jsf-spring-boot-build-2.3.1 jsf-spring-boot-build-2.3.0 jsf-spring-boot-build-2.2.9 jsf-spring-boot-build-2.2.8 jsf-spring-boot-build-2.2.7 jsf-spring-boot-build-2.2.6 jsf-spring-boot-build-2.2.5 jsf-spring-boot-build-2.2.4 jsf-spring-boot-build-2.2.3 jsf-spring-boot-build-2.2.2 jsf-spring-boot-build-2.2.1 jsf-spring-boot-build-2.2.0 jsf-spring-boot-build-2.1.6 jsf-spring-boot-build-2.1.5 jsf-spring-boot-build-2.1.4 jsf-spring-boot-build-2.1.3 jsf-spring-boot-build-2.1.2 jsf-spring-boot-build-2.1.1 jsf-spring-boot-build-2.1.0 jsf-spring-boot-build-2.0.0 jsf-spring-boot-build-1.7.3 jsf-spring-boot-build-1.7.2 jsf-spring-boot-build-1.7.1 jsf-spring-boot-build-1.7.0 joinfaces-build-3.2.3 joinfaces-build-3.2.2 joinfaces-build-3.2.1 joinfaces-build-3.2.0 joinfaces-build-3.1.1 joinfaces-build-3.1.0 joinfaces-build-3.0.2 joinfaces-build-3.0.1 joinfaces-build-3.0.0 joinfaces-build-3.0.0.RC1
Nothing to show
Clone or download
persapiens Merge pull request #511 from larsgrefer/fix/gh-509
Prevent ConcurrentModificationExceptions with Mojarra and Java 9+
Latest commit 5615e69 Jul 17, 2018
Permalink
Failed to load latest commit information.
.idea remove unused imports Feb 18, 2018
.mvn/wrapper Update maven wrapper May 21, 2018
joinfaces-autoconfigure Prevent ConcurrentModificationExceptions with Mojarra and Java 9+ whe… Jul 14, 2018
joinfaces-dependencies Upgrade ButterFaces from 3.0.2 to 3.0.4 (#510) Jul 14, 2018
joinfaces-parent [maven-release-plugin] prepare for next development iteration Jun 19, 2018
joinfaces-starters [maven-release-plugin] prepare for next development iteration Jun 19, 2018
joinfaces-test [maven-release-plugin] prepare for next development iteration Jun 19, 2018
spring-security-jsf-taglib [maven-release-plugin] prepare for next development iteration Jun 19, 2018
test-projects Prevent ConcurrentModificationExceptions with Mojarra and Java 9+ whe… Jul 14, 2018
.editorconfig a bit polish Feb 11, 2017
.gitignore add intellij configuration to git Feb 18, 2017
.travis.deploy-settings.xml #353 deploy snapshots using .travis.deploy-settings.xml Oct 15, 2017
.travis.yml Let Travis builds fail-fast Jun 13, 2018
CONTRIBUTING.md update README and CONTRIBUTING after weld and omnifaces feature Mar 15, 2018
LICENSE.txt #123 refactored project structure: root project now called jsf-sprin… Jul 9, 2016
README.md change fifteen to many starters. logging primefaces theme and fontAwe… Apr 11, 2018
lombok.config Increase test coverage (#470) Apr 27, 2018
mvnw Update maven wrapper May 21, 2018
mvnw.cmd Update maven wrapper May 21, 2018
nbactions.xml upgrade spring boot to 2.0.0.M7 Nov 30, 2017
pom.xml [maven-release-plugin] prepare for next development iteration Jun 19, 2018

README.md

JoinFaces

Maven Central Build Status Coverage Status codecov Dependency Status Javadocs License

This project enables JSF usage inside Spring Boot Application.

It autoconfigures PrimeFaces, PrimeFaces Extensions, AdminFaces, BootsFaces, ButterFaces, RichFaces, OmniFaces, AngularFaces, Mojarra and MyFaces libraries to run at embedded Tomcat, Jetty or Undertow servlet containers. It autoconfigures Weld and Rewrite too.

It also aims to solve JSF and Spring Boot integration features. Current version includes JSF and CDI annotations support and Spring Security JSF Facelet Tag support.

How to use

JoinFaces Example shows JSF Spring Boot Starter usage. It may help you to choose the JSF Spring Boot Starter that fits your needs.

You can find more examples here.

Key Features

Many JoinFaces Starters available

There are many JSF Spring Boot Starters available: basic starters, utility starters, meta starter, component starters, theme starters and extra starters.

See detailed starters here.

JSF properties configuration via application.properties or application.yml

Library Namespace Example
standard (javax.faces) jsf jsf.project-stage=development
primefaces jsf.primefaces jsf.primefaces.theme=overcast
bootsfaces jsf.bootsfaces jsf.bootsfaces.usetheme=true
butterfaces jsf.butterfaces jsf.butterfaces.provide-j-query=true
richfaces jsf.richfaces jsf.richfaces.resource-default-ttl=86400
omnifaces jsf.omnifaces jsf.omnifaces.faces-views-enabled=true
angularfaces jsf.angularfaces jsf.angularfaces.add-labels=true
mojarra jsf.mojarra jsf.mojarra.prefer-xhtml=true
myfaces jsf.myfaces jsf.myfaces.pretty-html=true
jetty jsf.jetty jsf.jetty.class-path-resource=META-INF/resources
undertow jsf.undertow jsf.undertow.class-path-resource=META-INF/resources
rewrite rewrite rewrite.configReloading=true

Look full application.yml example.

Additional information in #22

JSF and CDI annotations support automatically

Annotation
@NoneScoped
@RequestScoped
@ViewScoped
@SessionScoped
@ApplicationScoped

Spring Security JSF Facelet Tag support

Namespace: http://www.springframework.org/security/tags

Tag Description
authorize perform Spring Security authorization decisions, using attributes: ifAnyGranted, ifAllGranted, ifNotGranted, access, url, method, var.
anonymous verify if the user is anonymous.
authenticated verify if the user is not anonymous.
fullyAuthenticated verify if the is not an anonymous or a remember-me user.
Function Description
areAllGranted returns true if the user has all of of the given authorities.
areAnyGranted returns true if the user has any of the given authorities.
areNotGranted returns true if the user does not have any of the given authorities.
isAllowed returns true if the user is allowed to access the given URL and HTTP method combination.
isAnonymous returns true if user is anonymous.
isAuthenticated returns true if the user is not anonymous.
isFullyAuthenticated returns true if the is not an anonymous or a remember-me user.

Additional information in #29

System Requirements

By default, JoinFaces Starters requires Java 8 and Spring Boot 2.0.x and JSF 2.x.

Additionnal information here.

Getting Help

Contributing