JSF,Integrating Presentation Layer
In this section we will learn about configuring the presentation layer.
The presentation tier integration actually involves the
following steps:
Creating JSP pages
The JSP pages used in this application are login.jsp, registration.jsp, successLogin.jsp
and welcome.jsp. These pages are already described in the our previous
section
Developing
Login and Registration form and backing beans.
Defining the page navigation rules
Following code present in the faces-config.xml file defines the page
navigation rule.
<navigation-rule> <from-view-id>/pages/login.jsp</from-view-id> <navigation-case> <from-outcome>reg</from-outcome> <to-view-id>/pages/registration.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/pages/successLogin.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>failure</from-outcome> <to-view-id>/pages/login.jsp</to-view-id> </navigation-case> </navigation-rule> <navigation-rule> |
Developing and configuring backing beans
In our application there are two backing beans Bean and CheckValidUser.
Following code in the faces-config.xml
file declares the backing beans:
<application> <locale-config> <default-locale>en</default-locale> </locale-config> <message-bundle>net.roseindia.web.ui.messages</message-bundle> </application> <managed-bean> <managed-bean-name>Bean</managed-bean-name> <managed-bean-class>net.roseindia.web.ui.Bean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>CheckValidUser</managed-bean-name> <managed-bean-class>net.roseindia.web.ui.CheckValidUser</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> |
and finally integrating JSF with business logic
tier
We are using ServiceFinder class to get the Spring managed bean.
FacesContext context= FacesContext.getCurrentInstance(); ServletContext servletContext = (ServletContext)context.getExternalContext().getContext(); ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); Object o =appContext.getBean(beanName); |