October 31, 2014
Hot Topics:
RSS RSS feed Download our iPhone app

The Two Faces of JSF on WLP

  • July 7, 2008
  • By Scott Nelson
  • Send Email »
  • More Articles »

Creating a JSF Portlet

To create a portlet from your JSF Page Flow, the process is more similar to creating a JSP portlet than a standard Beehive Page Flow portlet. Where with Beehive Page Flows, the portlet Content Path is set to the Page Flow Controller, a JSF Page Flow starts from the JSF JSP. Note that, while in the portlet wizard, you will enter the path to the JSP, the resulting .portlet file contains the .faces extension in the path:

<netuix:content>
   <netuix:facesContent
           contentUri="/portlets/jsfPageFlowDemo/index.faces"/>
</netuix:content>

Because the path starts at the JSF JSP rather than a method on the Page Flow Controller, if you need to initialize values the first time the portlet is loaded, you need to do all of your initialization in the backing bean.

Because you do have a Page Flow Controller associated with the JSF JSP, you can call Page Flow actions using the NetUI tags. You can also use Beehive Form Beans. If you use Form Beans with JSF portlets, you may need to install a patch available from WebLogic support.

Coding the Old Fashioned Way

In case you skipped to this section, if you already have an investment in skills and/or artifacts based on standard WLP Beehive Page Flows, go back and read the first three paragraphs under the No Going Back for Wizard Lovers heading to add the JSF facet and understand the implications.

With the JSF facet installed, you are now free to develop JSF pages. There is no single wizard like for a Page Flow that will generate all of the base files you need for JSF development. You will need to create your backing beans by hand, although you will still have the standard Eclipse code assist tools. If your development team works from static HTML files, you can use a wizard that will create the JSF JSP for you. The wizard can be started from New\Other, expanding JSF and selecting Convert HTML to JSF:

Figure 2: HTML to JSF Wizard

The wizard simply adds the basic JSP declaration, JSF taglibs, and wraps the HTML in a view tag:

<%@ page language="java"
         contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:view>
<html>
   <head>
      <meta http-equiv="Content-Type"
            content="text/html; charset=ISO-8859-1">
      <title>Insert title here</title>
   </head>
   <body>
      <form action="htmlBaseExample.jsp" method="post">
            Type in me:<input type="text" name="test"/><br />
            Check me:<input type="checkbox" name="checkMe"/>
      </form>
      <table border="1" cellpadding="5" width="300">
         <tr><th>Field 1</th><th>Field 2</th></tr>
         <tr><td>Value 1</td><td>Value 2</td></tr>
      </table>
   </body>
</html>
</f:view>

Although there is also a wizard node for generating a JSF configuration file, one was already created by adding the JSF facet. WorkSpace Studio has a fairly comprehensive GUI for managing faces-config.xml.



Click here for a larger image.

Figure 3: WorkSpace Studio Faces GUI





Page 2 of 3



Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Sitemap | Contact Us

Rocket Fuel