JSF,Integrating Presentation Layer

In this section we will learn about configuring the presentation layer.

JSF,Integrating Presentation Layer

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>
  <from-view-id>/pages/registration.jsp</from-view-id>
  <navigation-case>
   <from-outcome>success</from-outcome>
   <to-view-id>/pages/welcome.jsp</to-view-id>
  </navigation-case>
  <navigation-case>
   <from-outcome>failure</from-outcome>
   <to-view-id>/pages/registration.jsp</to-view-id>
  </navigation-case>
</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);