拦截器相关配置 有两种
1、独立分配给action;
<action name="my" class="com.fdar.infoq.MyAction" >
<result>view.jsp</result>
<interceptor-ref name="autowiring"/>
</action>
2、Package下面配置一个默认的拦截器:只能一个默认的
<default-interceptor-ref name="autowiring"/>
————————————————————————————————————————
3、<interceptors … />和<interceptor … /> 必须放在 <package>标签里的 头部 定义(如定义变量) ;
<interceptors>
<interceptor name="orderActionInterceptor"
class="com.feifei.bin.od.utils.OrderActionInterceptor"></interceptor>
</interceptors>
1、Struts2的很多功能都是基于拦截器完成
2、一个 Action 可有 N 个拦截器
3、因此用拦截器栈(interceptor stack) 管理拦截器。
下面是 struts-default.xml文件中的一个例子:
<interceptor-stack name="basicStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="servlet-config"/>
……
</interceptor-stack>
interceptor-ref 的 name 可以是 拦截器栈 | 拦截器,
+++++++++++++++++++++++++++++++++++++++++++++++++++++
action 不同返回类
<action name="*/*" method="{2}" class="{1}Action">
<result type="freemarker">/WEB-INF/templates/{1}/${caseCd}.ftl</result>
<result type="freemarker" name="pros">/WEB-INF/templates/page/goods/goods.ftl</result>
<result type="json" name="json"><param name="root">goods</param></result>
<result type="json" name="appraises"><param name="root">mapp</param></result>
<result type="redirect" name="redirect">${target}</result>
<result type="dispatcher" name="redirect">/WEB-INF/templates/page/goods/goods.jsp</result>
</action>
wel.xml的一个补充
方式2:
<!-- struts2引入 -->
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>