- java.lang.Object
-
- javax.faces.application.NavigationHandler
-
- Direct Known Subclasses:
- ConfigurableNavigationHandler, NavigationHandlerWrapper
public abstract class NavigationHandler extends Object
A NavigationHandler is passed the outcome string returned by an application action invoked for this application, and will use this (along with related state information) to choose the view to be displayed next.
A default implementation of
NavigationHandler
must be provided by the JSF implementation, which will be utilized unlesssetNavigationHandler()
is called to establish a different one. An implementation of this class must be thread-safe. This default instance will compare the view identifier of the current view, the specified action binding, and the specified outcome against any navigation rules provided infaces-config.xml
file(s). If a navigation case matches, the current view will be changed by a call toFacesContext.setViewRoot()
. Note that anull
outcome value will never match any navigation rule, so it can be used as an indicator that the current view should be redisplayed.
-
-
Constructor Summary
Constructors Constructor and Description NavigationHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract void
handleNavigation(FacesContext context, String fromAction, String outcome)
Perform navigation processing based on the state information in the specifiedFacesContext
, plus the outcome string returned by an executed application action.void
handleNavigation(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)
Overloaded variant of
handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
that allows the caller to provide the defining document id for a flow to be entered by this navigation.
-
-
-
Method Detail
-
handleNavigation
public abstract void handleNavigation(FacesContext context, String fromAction, String outcome)
Perform navigation processing based on the state information in the specified
FacesContext
, plus the outcome string returned by an executed application action.If the implementation class also extends
ConfigurableNavigationHandler
, the implementation must guarantee that the logic used in a call toConfigurableNavigationHandler.getNavigationCase(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
is used in this method to determine the correct navigation.This method must set the render targets (used in partial rendering) to
render all
invokingPartialViewContext.setRenderAll(boolean)
) if the view identifier has changed as the result of an application action (to take into accountAjax requests
).- Parameters:
context
- TheFacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, ornull
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may benull
)- Throws:
NullPointerException
- ifcontext
isnull
-
handleNavigation
public void handleNavigation(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)
Overloaded variant of
handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
that allows the caller to provide the defining document id for a flow to be entered by this navigation. For backward compatibility with decoratedNavigationHandler
implementations that conform to an earlier version of the specification, an implementation is provided that calls through tohandleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
, ignoring thetoFlowDocumentId
parameter.- Parameters:
context
- TheFacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, ornull
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may benull
)toFlowDocumentId
- The defining document id of the flow into which this navigation will cause entry.- Throws:
NullPointerException
- ifcontext
isnull
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/faces/application/navigationhandler.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.