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
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.
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 ...