<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 配置struts2属性的标签:constant -->
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.action.extension" value="action,do"></constant>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<constant name="struts.custom.i18n.resources" value="message"></constant>
<!--
http://......项目名/test/MyTest.action
-->
<!-- test包间接的继承了struts-default -->
<!-- 因为MyInter包是直接继承了struts-default -->
<package name="test" extends="MyInter" namespace="/test">
<!--
<default-action-ref name="methodTest1"></default-action-ref>
<global-results>
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
-->
<action name="MyTest">
<result>/index.jsp</result>
</action>
<action name="test*" class="com.briup.web.action.ActionTest{1
}">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<!--
<action name="test1" class="com.briup.web.action.ActionTest1">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="test2" class="com.briup.web.action.ActionTest2">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="test3" class="com.briup.web.action.ActionTest3">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
-->
<action name="methodTest1" method="go" class="com.briup.web.action.MethodActionTest">
<result>/success.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<!--
<result>/error.jsp</result>
-->
</action>
<action name="methodTest2" class="com.briup.web.action.MethodActionTest">
<result>/success.jsp</result>
</action>
<action name="methodTest" class="com.briup.web.action.MethodActionTest">
<result name="success" type="dispatcher">/success.jsp</result>
</action>
<action name="chainTest" class="com.briup.web.action.ChainActionTest">
<!--
<result type="chain">methodTest1</result>
下面是错误的,因为命名空间变化了
<result type="chain">/user/mytest</result>
-->
<result type="chain">
<!--
<param name="actionName">methodTest1</param>
<param name="namespace">/test</param>
-->
<param name="actionName">mytest</param>
<param name="namespace">/user</param>
</result>
</action>
<action name="redirectPage" class="com.briup.web.action.RedirectPageTest">
<result type="redirect">/success.jsp</result>
</action>
<action name="redirectActionTest" class="com.briup.web.action.RedirectActionTest">
<result type="redirectAction">
<!--
<param name="actionName">methodTest1</param>
<param name="namespace">/test</param>
-->
<param name="actionName">mytest</param>
<param name="namespace">/user</param>
</result>
</action>
</package>
<package name="user" extends="struts-default" namespace="/user">
<action name="mytest">
<result>/success.jsp</result>
</action>
<action name="paramTest" class="com.briup.web.action.ParamActionTest">
<result>/success.jsp</result>
</action>
<action name="vsAndacTest" class="com.briup.web.action.VSAndACTest">
<result>/ValueStackAndActionContext.jsp</result>
</action>
<action name="webActionTest" class="com.briup.web.action.WebActionTest">
<result>/webAction.jsp</result>
</action>
<action name="getValueTest" class="com.briup.web.action.GetValueActionTest">
<result>/getValueTest.jsp</result>
</action>
<action name="myOGNL" method="myOGNL" class="com.briup.web.action.GetValueActionTest">
<result>/ognl.jsp</result>
</action>
<action name="tagTest" class="com.briup.web.action.TagActionTest">
<result>/tag.jsp</result>
</action>
<action name="TagFormActionTest" class="com.briup.web.action.TagFormActionTest">
<result>/success.jsp</result>
</action>
<action name="convertorTest" class="com.briup.web.convertor.ConvertorAction">
<result>/success.jsp</result>
<result name="input">/error.jsp</result>
</action>
<action name="validationTest" class="com.briup.web.validation.ValidationAction">
<result>/success.jsp</result>
<result name="input">/validation.jsp</result>
</action>
</package>
<!-- 在这个package中,我们只定义拦截器/拦截器栈 -->
<package name="MyInter" extends="struts-default" namespace="/">
<interceptors>
<interceptor name="myInterceptor" class="com.briup.web.interceptor.MyInterceptor"></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="myInterceptor"></interceptor-ref>
<!-- 这是struts.xml文件中定义的一个拦截器
<interceptor-ref name="params"></interceptor-ref>
-->
<!-- 这是struts.xml文件中定义的一个拦截器栈 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 声明默认拦截器/拦截器栈 -->
<!-- 当前包中所有的action都会被这个myStack所拦截 -->
<!-- 继承了当前包中的其他包里面的所有的action都会被这个myStack所拦截 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
</package>
</struts>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 配置struts2属性的标签:constant -->
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.action.extension" value="action,do"></constant>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<constant name="struts.custom.i18n.resources" value="message"></constant>
<!--
http://......项目名/test/MyTest.action
-->
<!-- test包间接的继承了struts-default -->
<!-- 因为MyInter包是直接继承了struts-default -->
<package name="test" extends="MyInter" namespace="/test">
<!--
<default-action-ref name="methodTest1"></default-action-ref>
<global-results>
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
-->
<action name="MyTest">
<result>/index.jsp</result>
</action>
<action name="test*" class="com.briup.web.action.ActionTest{1
}">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<!--
<action name="test1" class="com.briup.web.action.ActionTest1">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="test2" class="com.briup.web.action.ActionTest2">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="test3" class="com.briup.web.action.ActionTest3">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
-->
<action name="methodTest1" method="go" class="com.briup.web.action.MethodActionTest">
<result>/success.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<!--
<result>/error.jsp</result>
-->
</action>
<action name="methodTest2" class="com.briup.web.action.MethodActionTest">
<result>/success.jsp</result>
</action>
<action name="methodTest" class="com.briup.web.action.MethodActionTest">
<result name="success" type="dispatcher">/success.jsp</result>
</action>
<action name="chainTest" class="com.briup.web.action.ChainActionTest">
<!--
<result type="chain">methodTest1</result>
下面是错误的,因为命名空间变化了
<result type="chain">/user/mytest</result>
-->
<result type="chain">
<!--
<param name="actionName">methodTest1</param>
<param name="namespace">/test</param>
-->
<param name="actionName">mytest</param>
<param name="namespace">/user</param>
</result>
</action>
<action name="redirectPage" class="com.briup.web.action.RedirectPageTest">
<result type="redirect">/success.jsp</result>
</action>
<action name="redirectActionTest" class="com.briup.web.action.RedirectActionTest">
<result type="redirectAction">
<!--
<param name="actionName">methodTest1</param>
<param name="namespace">/test</param>
-->
<param name="actionName">mytest</param>
<param name="namespace">/user</param>
</result>
</action>
</package>
<package name="user" extends="struts-default" namespace="/user">
<action name="mytest">
<result>/success.jsp</result>
</action>
<action name="paramTest" class="com.briup.web.action.ParamActionTest">
<result>/success.jsp</result>
</action>
<action name="vsAndacTest" class="com.briup.web.action.VSAndACTest">
<result>/ValueStackAndActionContext.jsp</result>
</action>
<action name="webActionTest" class="com.briup.web.action.WebActionTest">
<result>/webAction.jsp</result>
</action>
<action name="getValueTest" class="com.briup.web.action.GetValueActionTest">
<result>/getValueTest.jsp</result>
</action>
<action name="myOGNL" method="myOGNL" class="com.briup.web.action.GetValueActionTest">
<result>/ognl.jsp</result>
</action>
<action name="tagTest" class="com.briup.web.action.TagActionTest">
<result>/tag.jsp</result>
</action>
<action name="TagFormActionTest" class="com.briup.web.action.TagFormActionTest">
<result>/success.jsp</result>
</action>
<action name="convertorTest" class="com.briup.web.convertor.ConvertorAction">
<result>/success.jsp</result>
<result name="input">/error.jsp</result>
</action>
<action name="validationTest" class="com.briup.web.validation.ValidationAction">
<result>/success.jsp</result>
<result name="input">/validation.jsp</result>
</action>
</package>
<!-- 在这个package中,我们只定义拦截器/拦截器栈 -->
<package name="MyInter" extends="struts-default" namespace="/">
<interceptors>
<interceptor name="myInterceptor" class="com.briup.web.interceptor.MyInterceptor"></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="myInterceptor"></interceptor-ref>
<!-- 这是struts.xml文件中定义的一个拦截器
<interceptor-ref name="params"></interceptor-ref>
-->
<!-- 这是struts.xml文件中定义的一个拦截器栈 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 声明默认拦截器/拦截器栈 -->
<!-- 当前包中所有的action都会被这个myStack所拦截 -->
<!-- 继承了当前包中的其他包里面的所有的action都会被这个myStack所拦截 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
</package>
</struts>