mvn archetype:generateMake sure that you use the proper version of the Portlet Bridge of Jboss. Read more here
-DarchetypeGroupId=org.jboss.portletbridge.archetypes
-DarchetypeArtifactId=richfaces-basic
-DarchetypeVersion=1.0.0.B6
-DgroupId=org.whatever.project
-DartifactId=myprojectname
-DarchetypeRepository=http://repository.jboss.org/maven2/
To enable Spring to manage your JSF Beans you should add this context arguments to your web.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
This are the listeners which enables Spring to load it's context and create the beans, and to process Request from JSF to Spring and preserve the session.
Inside of faces-config.xml :
org.springframework.web.jsf.DelegatingVariableResolver
This delegates the JSF Variable resolver to look up for EL Expressions defined beans in Spring. In other words, it replaces the standard JSF EL resolver.
Now you would be able to define your JSF Beans in Spring as follows:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
This bean can be used with your JSF Tag as usual:
In deed simple.
Here is the full web.xml:
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
javax.faces.STATE_SAVING_METHOD
server
javax.portlet.faces.renderPolicy
ALWAYS_DELEGATE
org.ajax4jsf.RESOURCE_URI_PREFIX
rfRes
org.richfaces.LoadStyleStrategy
NONE
org.richfaces.LoadScriptStrategy
NONE
org.ajax4jsf.COMPRESS_SCRIPT
true
org.richfaces.CONTROL_SKINNING
enable
contextConfigLocation
classpath:spring-context.xml
RichFaces Filter
richfaces
org.ajax4jsf.Filter
richfaces
Faces Servlet
REQUEST
FORWARD
INCLUDE
com.sun.faces.config.ConfigureListener
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
Faces Servlet
javax.faces.webapp.FacesServlet
1
Faces Servlet
/faces/*
Faces Servlet
*.jsf
FacesServlet
*.mk
10
Restrict access to JSP pages
Restrict access to JSP pages
With no roles defined, no access granted
BASIC