Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.tiles
Class TilesRequestProcessor

    java.lang.Object
      org.apache.struts.action.RequestProcessor
          org.apache.struts.tiles.TilesRequestProcessor

Direct Known Subclasses:
  FacesTilesRequestProcessor

    public class TilesRequestProcessor

extends RequestProcessor

RequestProcessor contains the processing logic that the Struts controller servlet performs as it receives each servlet request from the container.

This processor subclasses the Struts RequestProcessor in order to intercept calls to forward or include. When such calls are done, the Tiles processor checks if the specified URI is a definition name. If true, the definition is retrieved and included. If false, the original URI is included or a forward is performed.

Actually, catching is done by overloading the following methods:

- `processForwardConfig(HttpServletRequest,HttpServletResponse,ForwardConfig)`
- `internalModuleRelativeForward(String, HttpServletRequest , HttpServletResponse)`
- `internalModuleRelativeInclude(String, HttpServletRequest , HttpServletResponse)`

Since:
  Struts 1.1

Field Summary
`protected DefinitionsFactory` | `definitionsFactory` Definitions factory.
`protected static Log` | `log` Commons Logging instance.

Fields inherited from class org.apache.struts.action.RequestProcessor
`actions, INCLUDE_PATH_INFO, INCLUDE_SERVLET_PATH, moduleConfig, servlet`

Constructor Summary
`TilesRequestProcessor()`

Method Summary
`protected void` | `doForward(String uri, HttpServletRequest request, HttpServletResponse response)` Do a forward using request dispatcher.
`DefinitionsFactory` | `getDefinitionsFactory()` Get associated definition factory.
`void` | `init(ActionServlet servlet, ModuleConfig moduleConfig)` Initialize this request processor instance.
`protected void` | `initDefinitionsMapping()` Read component instance mapping configuration file.
`protected void` | `internalModuleRelativeForward(String uri, HttpServletRequest request, HttpServletResponse response)` Catch the call to a module relative forward.
`protected void` | `internalModuleRelativeInclude(String uri, HttpServletRequest request, HttpServletResponse response)` Do a module relative include to specified uri using request dispatcher.
`protected void` | `processForwardConfig(HttpServletRequest request, HttpServletResponse response, ForwardConfig forward)` Overloaded method from Struts' RequestProcessor.
`protected boolean` | `processTilesDefinition(String definitionName, boolean contextRelative, HttpServletRequest request, HttpServletResponse response)` Deprecated. use processTilesDefinition(definitionName, request, response) instead. This method will be removed in a version after 1.3.0.
`protected boolean` | `processTilesDefinition(String definitionName, HttpServletRequest request, HttpServletResponse response)` Process a Tile definition name.

Methods inherited from class org.apache.struts.action.RequestProcessor
`destroy, doInclude, getInternal, getServletContext, process, processActionCreate, processActionForm, processActionPerform, processCachedMessages, processContent, processException, processForward, processInclude, processLocale, processMapping, processMultipart, processNoCache, processPath, processPopulate, processPreprocess, processRoles, processValidate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### definitionsFactory

    protected DefinitionsFactory definitionsFactory

  Definitions factory.

### log

    protected static Log log

  Commons Logging instance.

Constructor Detail

### TilesRequestProcessor

    public TilesRequestProcessor()

Method Detail

### init

    public void init(ActionServlet servlet,
                     ModuleConfig moduleConfig)
              throws ServletException

  Initialize this request processor instance.

  Overrides:
    `init` in class `RequestProcessor`
  Parameters:
    `servlet` - The ActionServlet we are associated with.
    `moduleConfig` - The ModuleConfig we are associated with.
  Throws:
    `ServletException` - If an error occurs during initialization.

### initDefinitionsMapping

    protected void initDefinitionsMapping()
                                   throws ServletException

  Read component instance mapping configuration file. This is where we read files properties.

  Throws:
    `ServletException`

### processTilesDefinition

    protected boolean processTilesDefinition(String definitionName,
                                             boolean contextRelative,
                                             HttpServletRequest request,
                                             HttpServletResponse response)
                                      throws IOException,
                                             ServletException

  Deprecated. use processTilesDefinition(definitionName, request, response) instead. This method will be removed in a version after 1.3.0.

  Process a Tile definition name. This method tries to process the parameter `definitionName` as a definition name. It returns `true` if a definition has been processed, or `false` otherwise. This method is deprecated; the method without the `contextRelative` parameter should be used instead.

  Parameters:
    `definitionName` - Definition name to insert.
    `contextRelative` - Is the definition marked contextRelative ?
    `request` - Current page request.
    `response` - Current page response.
  Returns:
    `true` if the method has processed uri as a definition name, `false` otherwise.
  Throws:
    `IOException`
    `ServletException`

### processTilesDefinition

    protected boolean processTilesDefinition(String definitionName,
                                             HttpServletRequest request,
                                             HttpServletResponse response)
                                      throws IOException,
                                             ServletException

  Process a Tile definition name. This method tries to process the parameter `definitionName` as a definition name. It returns `true` if a definition has been processed, or `false` otherwise.

  Parameters:
    `definitionName` - Definition name to insert.
    `request` - Current page request.
    `response` - Current page response.
  Returns:
    `true` if the method has processed uri as a definition name, `false` otherwise.
  Throws:
    `IOException`
    `ServletException`

### doForward

    protected void doForward(String uri,
                             HttpServletRequest request,
                             HttpServletResponse response)
                      throws IOException,
                             ServletException

  Do a forward using request dispatcher. Uri is a valid uri. If response has already been commited, do an include instead.

  Overrides:
    `doForward` in class `RequestProcessor`
  Parameters:
    `uri` - Uri or Definition name to forward.
    `request` - Current page request.
    `response` - Current page response.
  Throws:
    `IOException` - if an input/output error occurs
    `ServletException` - if a servlet exception occurs

### processForwardConfig

    protected void processForwardConfig(HttpServletRequest request,
                                        HttpServletResponse response,
                                        ForwardConfig forward)
                                 throws IOException,
                                        ServletException

  Overloaded method from Struts' RequestProcessor. Forward or redirect to the specified destination by the specified mechanism. This method catches the Struts' actionForward call. It checks if the actionForward is done on a Tiles definition name. If true, process the definition and insert it. If false, call the original parent's method.

  Overrides:
    `processForwardConfig` in class `RequestProcessor`
  Parameters:
    `request` - The servlet request we are processing.
    `response` - The servlet response we are creating.
    `forward` - The ActionForward controlling where we go next.
  Throws:
    `IOException` - if an input/output error occurs.
    `ServletException` - if a servlet exception occurs.

### internalModuleRelativeForward

    protected void internalModuleRelativeForward(String uri,
                                                 HttpServletRequest request,
                                                 HttpServletResponse response)
                                          throws IOException,
                                                 ServletException

  Catch the call to a module relative forward. If the specified uri is a tiles definition name, insert it. Otherwise, parent processing is called. Do a module relative forward to specified uri using request dispatcher. Uri is relative to the current module. The real uri is computed by prefixing the module name. This method is used internally and is not part of the public API. It is advised to not use it in subclasses.

  Overrides:
    `internalModuleRelativeForward` in class `RequestProcessor`
  Parameters:
    `uri` - Module-relative URI to forward to.
    `request` - Current page request.
    `response` - Current page response.
  Throws:
    `IOException` - if an input/output error occurs
    `ServletException` - if a servlet exception occurs
  Since:
    Struts 1.1

### internalModuleRelativeInclude

    protected void internalModuleRelativeInclude(String uri,
                                                 HttpServletRequest request,
                                                 HttpServletResponse response)
                                          throws IOException,
                                                 ServletException

  Do a module relative include to specified uri using request dispatcher. Uri is relative to the current module. The real uri is computed by prefixing the module name. This method is used internally and is not part of the public API. It is advised to not use it in subclasses.

  Overrides:
    `internalModuleRelativeInclude` in class `RequestProcessor`
  Parameters:
    `uri` - Module-relative URI to forward to.
    `request` - Current page request.
    `response` - Current page response.
  Throws:
    `IOException` - if an input/output error occurs
    `ServletException` - if a servlet exception occurs
  Since:
    Struts 1.1

### getDefinitionsFactory

    public DefinitionsFactory getDefinitionsFactory()

  Get associated definition factory.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.