O'Reilly logo

JavaServer Faces by Hans Bergsten

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Moving Between JSF Views

In addition to the main functionality, the sample application lets the user edit preferences through a separate set of screens. The application ignores all preference settings, but looking at how these preferences screens are implemented illustrates how JSF navigation works.

On a regular web site, links are used to navigate between different pages. A JSF web application may also use links, and there’s a special action element that you should use to add a link to a page. It’s the <h:outputLink> action element, and here’s how it’s used in the sample application’s menu area:

...
  <h:outputLink value="prefUser.faces">
    <h:outputText value="Preferences" />
  </h:outputLink>
...

The action uses the value attribute to render the corresponding HTML <a> element’s href value, with an encoded session ID if needed for cookie-less session tracking. Nested <f:param> action elements can be used to add query string parameters (see Appendix A for details). The link text is taken from the value of one or more child components, such as the output component represented by the <h:outputText> element in this example. Figure 9-1 shows the menu area with the generated link in a browser.

Menu area with link to the first preferences screen
Figure 9-1. Menu area with link to the first preferences screen

Navigation through a direct link is simple and sufficient in many cases, but not when user input must be processed before moving on to the next ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required