org.apache.struts.chain.chain-config.xml Maven / Gradle / Ivy
The newest version!
<?xml version="1.0" ?> <!-- $Id$ Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- This file contains definitions of the standard Chain Of Responsibility chains that emulate Struts 1.2 processing functionality. These chains are defined in a catalog named "struts" so that the application can use the default catalog for its own purposes, without any potential for name clashes. $Id$ --> <catalog name="struts"> <define name="lookup" className="org.apache.commons.chain.generic.LookupCommand"/> <!-- ========== Servlet Complete Request Chain ========================= --> <chain name="servlet-standard"> <!-- Establish exception handling filter --> <command className="org.apache.struts.chain.commands.ExceptionCatcher" catalogName="struts" exceptionCommand="servlet-exception"/> <lookup catalogName="struts" name="process-action" optional="false"/> <lookup catalogName="struts" name="process-view" optional="false"/> </chain> <!-- ========== Action Processing chain ======================== --> <chain name="process-action"> <!-- This chain attempts to emulate (most of) the standard request processing in the standard org.apache.struts.action.RequestProcessor class, by performing the corresponding tasks in individual Commands that are composable. The following list defines a cross reference between the processXxx methods and the Commands that perform the corresponding functionality: processMultipart Integrated into servlet and legacy classes processPath SelectAction (which also does processMapping) processException ExceptionCatcher / ExceptionHandler processLocale SelectLocale processContent SetContentType processNoCache RequestNoCache processPreprocess LookupCommand with optional="true". Multiple occurrences of this can easily be added, to support additional processing hooks at any point in the chain without modifying the standard definition. processCachedMessages RemoveCachedMessages processMapping SelectAction (which also does processPath) processRoles AuthorizeAction processActionForm CreateActionForm processPopulate PopulateActionForm processValidate ValidateActionForm / SelectInput processForward SelectForward processInclude SelectInclude / PerformInclude processActionCreate CreateAction processActionPerform ExecuteAction --> <!-- Look up optional preprocess command --> <lookup catalogName="struts" name="servlet-standard-preprocess" optional="true"/> <!-- Identify the Locale for this request --> <command className="org.apache.struts.chain.commands.servlet.SelectLocale"/> <!-- Set (if needed) the URI of the original request --> <command className="org.apache.struts.chain.commands.servlet.SetOriginalURI"/> <!-- Set (if needed) no cache HTTP response headers --> <command className="org.apache.struts.chain.commands.servlet.RequestNoCache"/> <!-- Set (if needed) the HTTP response content type --> <command className="org.apache.struts.chain.commands.servlet.SetContentType"/> <!-- Remove messages cached in the Session --> <command className="org.apache.struts.chain.commands.RemoveCachedMessages"/> <!-- Identify the ActionConfig for this request --> <command className="org.apache.struts.chain.commands.servlet.SelectAction"/> <!-- Authorize the selected ActionConfig for this request --> <command className="org.apache.struts.chain.commands.servlet.AuthorizeAction"/> <!-- Create (if needed) the ActionForm for this request --> <command className="org.apache.struts.chain.commands.CreateActionForm"/> <!-- Populate the ActionForm for this request --> <command className="org.apache.struts.chain.commands.servlet.PopulateActionForm"/> <!-- Validate the ActionForm for this request --> <command className="org.apache.struts.chain.commands.servlet.ValidateActionForm"/> <!-- Select the appropriate ForwardConfig for return to input page --> <command className="org.apache.struts.chain.commands.servlet.SelectInput"/> <!-- Lookup and execute a chain command if the current ActionConfig is so-configured. --> <command className="org.apache.struts.chain.commands.ExecuteCommand"/> <!-- Select the appropriate ForwardConfig for action mappings that only have an ActionForward --> <command className="org.apache.struts.chain.commands.servlet.SelectForward"/> <!-- Select the include uri (if any) for the current action mapping --> <command className="org.apache.struts.chain.commands.SelectInclude"/> <!-- Perform the include (if needed) --> <command className="org.apache.struts.chain.commands.servlet.PerformInclude"/> <!-- Create (if needed) the Action for this request --> <command className="org.apache.struts.chain.commands.servlet.CreateAction"/> <!-- Execute the Action for this request --> <command className="org.apache.struts.chain.commands.servlet.ExecuteAction"/> </chain> <!-- ========== View Processing chain ======================== --> <chain name="process-view"> <!-- Lookup and execute a chain command if the current ForwardConfig is so-configured. --> <command className="org.apache.struts.chain.commands.ExecuteForwardCommand"/> <!-- Follow the returned ForwardConfig (if any) --> <command className="org.apache.struts.chain.commands.servlet.PerformForward"/> </chain> <!-- ========== Servlet Exception Handler Chain ======================== --> <chain name="servlet-exception"> <!-- This chain is designed to be invoked (by o.a.s.c.ExceptionCatcher) if an unhandled exception is thrown by any subsequent command in a processing chain (including the one that invokes a Struts action). The standard definition of this chain supports the exception mapping of Struts 1.1, but can be replaced in order to handle exceptions differently. --> <!-- Execute the configured exception handler (if any) --> <command className="org.apache.struts.chain.commands.servlet.ExceptionHandler"/> <!-- Follow the returned ForwardConfig (if any) --> <command className="org.apache.struts.chain.commands.servlet.PerformForward"/> </chain> </catalog>