Class FacesRequestProcessor
- All Implemented Interfaces:
Serializable
Concrete implementation of RequestProcessor
that
implements the standard Struts request processing lifecycle on a
request that was received as an ActionEvent
by our
associated ActionListener
. It replaces the request processor
instance normally configured by Struts, so it must support non-Faces
requests as well.
- Version:
- $Rev$ $Date$
- See Also:
-
Field Summary
Fields inherited from class org.apache.struts.action.RequestProcessor
actions, INCLUDE_PATH_INFO, INCLUDE_SERVLET_PATH, moduleConfig, servlet
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doForward
(String uri, HttpServletRequest request, HttpServletResponse response) Set up a Faces Request if we are not already processing one.protected Action
processActionCreate
(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) protected ActionForm
processActionForm
(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) protected ActionForward
processActionPerform
(HttpServletRequest request, HttpServletResponse response, Action action, ActionForm form, ActionMapping mapping) protected boolean
processForward
(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) protected void
processForwardConfig
(HttpServletRequest request, HttpServletResponse response, ForwardConfig forward) protected boolean
processInclude
(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) protected String
processPath
(HttpServletRequest request, HttpServletResponse response) Identify and return the path component (from the request URI for a non-Faces request, or from the form event for a Faces request) that we will use to select an ActionMapping to dispatch with.protected void
processPopulate
(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping) Populate the properties of the specifiedActionForm
instance from the request parameters included with this request, IF this is a non-Faces request.protected boolean
processValidate
(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping) Methods inherited from class org.apache.struts.action.RequestProcessor
destroy, doInclude, getInternal, getServletContext, init, internalModuleRelativeForward, internalModuleRelativeInclude, process, processCachedMessages, processContent, processException, processLocale, processMapping, processMultipart, processNoCache, processPreprocess, processRoles
-
Field Details
-
LIFECYCLE_ID_ATTR
The lifecycle id.
- See Also:
-
-
Constructor Details
-
FacesRequestProcessor
public FacesRequestProcessor()
-
-
Method Details
-
doForward
protected void doForward(String uri, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException Set up a Faces Request if we are not already processing one. Next, create a new view if the specified
uri
is different from the current view identifier. Finally, cause the new view to be rendered, and callFacesContext.responseComplete()
to indicate that this has already been done.- Overrides:
doForward
in classRequestProcessor
- Parameters:
uri
- Context-relative path to forward torequest
- Current page requestresponse
- Current page response- Throws:
IOException
- if an input/output error occursServletException
- if a servlet error occurs
-
processActionCreate
protected Action processActionCreate(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) throws IOException - Overrides:
processActionCreate
in classRequestProcessor
- Throws:
IOException
-
processActionForm
protected ActionForm processActionForm(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) - Overrides:
processActionForm
in classRequestProcessor
-
processActionPerform
protected ActionForward processActionPerform(HttpServletRequest request, HttpServletResponse response, Action action, ActionForm form, ActionMapping mapping) throws IOException, ServletException - Overrides:
processActionPerform
in classRequestProcessor
- Throws:
IOException
ServletException
-
processForward
protected boolean processForward(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) throws IOException, ServletException - Overrides:
processForward
in classRequestProcessor
- Throws:
IOException
ServletException
-
processForwardConfig
protected void processForwardConfig(HttpServletRequest request, HttpServletResponse response, ForwardConfig forward) throws IOException, ServletException - Overrides:
processForwardConfig
in classRequestProcessor
- Throws:
IOException
ServletException
-
processInclude
protected boolean processInclude(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) throws IOException, ServletException - Overrides:
processInclude
in classRequestProcessor
- Throws:
IOException
ServletException
-
processPath
protected String processPath(HttpServletRequest request, HttpServletResponse response) throws IOException Identify and return the path component (from the request URI for a non-Faces request, or from the form event for a Faces request) that we will use to select an ActionMapping to dispatch with. If no such path can be identified, create an error response and return
null
.- Overrides:
processPath
in classRequestProcessor
- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creating- Throws:
IOException
- if an input/output error occurs
-
processPopulate
protected void processPopulate(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping) throws ServletException Populate the properties of the specified
ActionForm
instance from the request parameters included with this request, IF this is a non-Faces request. For a Faces request, this will have already been done by the Update Model Values phase of the request processing lifecycle, so all we have to do is recognize whether the request was cancelled or not.- Overrides:
processPopulate
in classRequestProcessor
- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingform
- The ActionForm instance we are populatingmapping
- The ActionMapping we are using- Throws:
ServletException
- if thrown by RequestUtils.populate()
-
processValidate
protected boolean processValidate(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping) throws IOException, ServletException, InvalidCancelException - Overrides:
processValidate
in classRequestProcessor
- Throws:
IOException
ServletException
InvalidCancelException
-