Save This Page
Home » mojarra-1.2_09-b02-FCS-source » javax.faces.application » [javadoc | source]
javax.faces.application
abstract public class: ViewHandler [javadoc | source]
java.lang.Object
   javax.faces.application.ViewHandler

Direct Known Subclasses:
    ViewHandlerWrapper

ViewHandler is the pluggablity mechanism for allowing implementations of or applications using the JavaServer Faces specification to provide their own handling of the activities in the Render Response and Restore View phases of the request processing lifecycle. This allows for implementations to support different response generation technologies, as well as alternative strategies for saving and restoring the state of each view.

Please see StateManager for information on how the ViewHandler interacts the StateManager .

Field Summary
public static final  String CHARACTER_ENCODING_KEY   

The key, in the session's attribute set, under which the response character encoding may be stored and retrieved.

 
public static final  String DEFAULT_SUFFIX_PARAM_NAME   

Allow the web application to define an alternate suffix for pages containing JSF content. If this init parameter is not specified, the default value is taken from the value of the constant #DEFAULT_SUFFIX .

 
public static final  String DEFAULT_SUFFIX   

The value to use for the default extension if the webapp is using url extension mapping.

 
Method from javax.faces.application.ViewHandler Summary:
calculateCharacterEncoding,   calculateLocale,   calculateRenderKitId,   createView,   getActionURL,   getResourceURL,   initView,   renderView,   restoreView,   writeState
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.faces.application.ViewHandler Detail:
 public String calculateCharacterEncoding(FacesContext context) 

    Returns the correct character encoding to be used for this request.

    The following algorithm is employed.

    • Examine the Content-Type request header. If it has a charset parameter, extract it and return that as the encoding.

    • If no charset parameter was found, check for the existence of a session by calling ExternalContext#getSession(boolean) passing false as the argument. If that method returns true, get the session Map by calling ExternalContext#getSessionMap and look for a value under the key given by the value of the symbolic constant ViewHandler#CHARACTER_ENCODING_KEY . If present, return the value, converted to String.

    • Otherwise, return null

 abstract public Locale calculateLocale(FacesContext context)

    Returns an appropriate Locale to use for this and subsequent requests for the current client.

 abstract public String calculateRenderKitId(FacesContext context)
 abstract public UIViewRoot createView(FacesContext context,
    String viewId)

    Create and return a new UIViewRoot instance initialized with information from the argument FacesContext and viewId.

    If there is an existing ViewRoot available on the FacesContext , this method must copy its locale and renderKitId to this new view root. If not, this method must call #calculateLocale and #calculateRenderKitId , and store the results as the values of the locale and renderKitId, proeprties, respectively, of the newly created UIViewRoot.

 abstract public String getActionURL(FacesContext context,
    String viewId)

    Return a URL suitable for rendering (after optional encoding performed by the encodeActionURL() method of ExternalContext ) that selects the specified view identifier.

 abstract public String getResourceURL(FacesContext context,
    String path)

    Return a URL suitable for rendering (after optional encoding perfomed by the encodeResourceURL() method of ExternalContext ) that selects the specifed web application resource. If the specified path starts with a slash, it must be treated as context relative; otherwise, it must be treated as relative to the action URL of the current view.

 public  void initView(FacesContext context) throws FacesException 

    Initialize the view for the request processing lifecycle.

    This method must be called at the beginning of the Restore View Phase of the Request Processing Lifecycle. It is responsible for performing any per-request initialization necessary to the operation of the lifycecle.

    The default implementation calls #calculateCharacterEncoding and passes the result, if non-null into the ExternalContext#setRequestCharacterEncoding method.

 abstract public  void renderView(FacesContext context,
    UIViewRoot viewToRender) throws IOException, FacesException

    Perform whatever actions are required to render the response view to the response object associated with the current FacesContext .

 abstract public UIViewRoot restoreView(FacesContext context,
    String viewId)

    Perform whatever actions are required to restore the view associated with the specified FacesContext and viewId. It may delegate to the restoreView of the associated StateManager to do the actual work of restoring the view. If there is no available state for the specified viewId, return null.

 abstract public  void writeState(FacesContext context) throws IOException

    Take any appropriate action to either immediately write out the current state information (by calling StateManager#writeState , or noting where state information should later be written.