Giter Site home page Giter Site logo

joinfaces / joinfaces Goto Github PK

View Code? Open in Web Editor NEW
383.0 20.0 89.0 7.08 MB

JoinFaces: JSF Spring Boot Starters - JSF inside Spring Boot Application

Home Page: http://joinfaces.org

License: Apache License 2.0

Java 94.76% HTML 0.58% CSS 4.66%
joinfaces spring-boot jsf spring-security starters primefaces butterfaces bootsfaces tomcat jetty

joinfaces's Introduction

JoinFaces

Maven Central Build Status codecov GitHub license

This project enables JSF usage inside Spring Boot Application.

It autoconfigures PrimeFaces, PrimeFaces Extensions, Apache MyFaces Tobago, OmniFaces, AdminFaces, Mojarra and MyFaces libraries to run at embedded Tomcat, Jetty or Undertow servlet containers. It autoconfigures Weld, Apache OpenWebBeans, 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.

Official example projects

Build tool \ packaging jar war
Maven maven-jar-example maven-war-example
Gradle gradle-jar-example gradle-war-example

Key Features

Take a look at Reference Guide to see JoinFaces features: Starters, Servlet-Context Init Parameters, JSF and CDI scope-annotations support and Spring Security JSF Facelet Tag support.

System Requirements

Joinfaces Java Spring Boot JSF / Faces
2.x 1.6 to 1.8 1.x 2.0 to 2.2
3.0 to 3.2 1.8 2.0 2.0 to 2.3
4.0.x 1.8 to 11 2.1 2.0 to 2.3
4.1.x 1.8 to 12 2.2 2.0 to 2.3
4.3.x 1.8 to 14 2.3 2.0 to 2.3
4.4.x 1.8 to 15 2.4 2.0 to 2.3
4.5.x 1.8 to 16 2.5 2.0 to 2.3
4.6.x 1.8 to 16 2.6 2.0 to 2.3
4.7.x 1.8 to 17 2.7 2.0 to 2.3
5.0.x 17 to 19 3.0 3.0 to 4.0
5.1.x 17 to 20 3.1 3.0 to 4.0
5.2.x 17 to 21 3.2 3.0 to 4.0
5.3.x 17 to 21 3.3 3.0 to 4.0

This are the combinations we have tested and expect to work, but depending on the features you are using, other combinations might work, too. When using Java 9 or higher, make sure to use JoinFaces only on the classpath and not on the modulepath.

Getting Help

Contributing

joinfaces's People

Contributors

babltiga avatar cadimmek avatar dependabot[bot] avatar didiez avatar hammadirshad avatar hazendaz avatar jamillosantos avatar jomipeca avatar larmic avatar larsgrefer avatar melloware avatar nimatthi avatar nyilmaz avatar orange-buffalo avatar persapiens avatar pmentz avatar samtv12345 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

joinfaces's Issues

Jetty and Undertow support?

Hey,

We are considering to move your project but seems a notice in homepage about tomcat. Is this library working only Tomcat? Ideally a Spring Boot starter would be run with Jetty and Undertow as well.

Thanks for sharing.

Remove RequestContextListener definition from MojarraSpringBootAutoConfiguration

RequestContextListener bean definition blocks WebMvcAutoConfigurations RequestContextFilter bean to be defined.

https://github.com/spring-projects/spring-boot/blob/v1.3.5.RELEASE/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.java#L184

Hence ServletRequestAttributes is not set appropriately (ie. HttpServletResponse is not set).

The very same configuration is present for MyFaces also.

Create jsf-springboot-integration module

The JSF Spring Boot Integration module should include code related to integration JSF and Spring Boot.
For example, JSF and CDI annotations to spring scope solution should migrate to it.

Rationalize configuration properties

I had a quick look at the code and I can see a lot of different prefixes for the configuration. A few thoughts:

  • Maybe it would be nicer if all options were gathered under a common prefix (something like jsf if that makes sense?)
  • If splitting the configuration by components is a good thing, maybe we should use the name of the component rather than a package name. This is a bit unusual compared to other libraries.

What do you think?

ClassCastException when HandlerWrappers are added via spring-boot for jetty starter

Referring to https://github.com/spring-projects/spring-boot/blob/50e0bb2d9ca3d4d649ec55d135381102c6b6737d/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java#L166

If either of server header or gzip compression is enabled, HandlerWrappers are added and this line breaks throwing ClassCastException. Server.getHandler() does not return WebAppContext anymore.

My first reaction was adding @Order to JettySpringBootAutoConfiguration but it did not work. Solution would be like;

          Handler[] childHandlersByClass = server.getChildHandlersByClass(WebAppContext.class);
           WebAppContext webAppContext = (WebAppContext) childHandlersByClass[0];

Keep up good work btw! Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.