Navigation components

Java™ Widget Library (JWL) provides both "Struts-like" navigation and "HTML-like" navigation as well as several components that organize navigation components into compound navigation structures.

With "Struts-like" navigation, the navigation component passes an "action" (a command) to the server where the action is "caught" by an action handler. After (potential) manipulation by the handler, the action is then evaluated against a set of navigation rules to determine which page is displayed next in the browser. Thus with "Struts-like" navigation, no HTML URIs are hard-coded into a page, instead, logical "actions" are coded and the navigation logic is encoded in the navigation rules (essentially externalizing the navigation structure into a separate model).

With "HTML-like" navigation, JWL simply wraps HTML link functionality, providing the ability to dynamically construct the link when it is emitted by the page.

Individual navigation components can be organized into more complex structures. JWL supports organizing navigation into action bars (usually displayed as a row or column of buttons or links) or into a menu bar (an complex tree of menus of navigation components). In addition, a data table (or individual columns in a data table) can be structured to contain navigation components.

Note: When selecting the forwarding option in the navigation map rules, the URL of the returned page is incorrect due to runtime implementation limitations. Because the URL is incorrect, you will not be able to refresh the page or use Back and Forward links. You are recommended to use the redirect navigation option.

The available navigation tags are:

Components that are initially hidden on the palette are denoted by an asterisk (*) next to their name in the tables.

Table 1. Navigation components
Component Tag Name Description
Button - Command <hx:commandExButton> Creates a push button that may have text and/or an image in it. If the button is of type submit, clicking the button submits the form and passes a command (action) to the server. The button may run an action. See Using navigation rules with Faces JSP pages for information on actions and navigations rules.
Command row action <hx:commandExRowAction> Assigns a command (action) to a row of a data table. Clicking the row submits the page and passes a command (action) to the server along with the identity of the row that was clicked.
*Link - Command <h:commandLink> Creates a hyperlink. Clicking the link submits the form and passes a command (action) to the server. The command determines the next page to display. See Adding hyperlinks to a Faces JSP file and Using navigation rules with Faces JSP pages for information on hyperlinks, actions, and navigations rules.
Link <hx:outputLinkEx> Displays a hyperlink that goes to a specified URL.
Panels - Menu Bar <hx:panelActionbarEx> Inserts a panel that places commands into a menu bar. You can drag and drop buttons, hyperlinks, and horizontal rules to the panel or add them from within the Properties views of the components. You can also add a sub-menu bar within a menu bar.
Menu bar <hx:panelMenu> Displays a (hierarchical) menu bar of buttons and/or hyperlinks.
Link - Request <hx:requestLink> Displays a hyperlink. Clicking the link passes a command (action) to the server through the URL. The command determines the next page to display.
Request row action <hx:requestRowAction> Assigns a command (action) to a row of a data table. Clicking the row passes a command (action) to the server through the URL. The command/row clicked determines the next page to display.
Related concepts
Asynchronous JavaScript and XML (AJAX) Components
JavaServer Faces (JSF) overview
JSF Widget Library (JWL)
Developing Web applications using JavaServer Faces (JSF)
Data table components
Related tasks
Adding hyperlinks to a Faces JSP file
Using navigation rules with Faces JSP pages

Feedback