1、struts2 不能使用的解决办法:看是否存在web.xml,并配置<filter></filter> <filter-mapping></filter-mapping>
2、拦截器机制:struts2之所以能完成各类Action的跳转,就是通过其struts-default.xml内定义的各类拦截器实现的;如果不指定某一个Action的拦截器,struts2会使用一个defaultstack(拦截器栈)来拦截,一旦指定了Action的拦截器,则defaultstack就不起作用了,如果想一起使用"自定义拦截器"和"系统默认拦截器"就必须在struts.xml内同时声明。
3、拦截器参数:(见红字)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<interceptors>
<interceptor name="MyInterceptor" class="com.test.interceptor.MyInterceptor">
<param name="hello">world</param> //定义时改变hello的值,hello是定义在MyIntercepter中定义的私有属性(private string hello),并提供了getter和setter方法。
</interceptor>
</interceptors>
<action name="login" class="com.test.action.LoginAction">
<result name="input">/login2.jsp</result>
<result name="success">/result.jsp</result>
<result name="failer">/login2.jsp</result>
</action>
<action name="PointConverter" class="com.test.action.PointAction">
<result name="success">/output.jsp</result>
<result name="input">/login2.jsp</result>
<result name="failer">/login2.jsp</result>
</action>
<action name="Register" class="com.test.action.RegisterAction">
<result name="success">/success.jsp</result>
<result name="input">/register.jsp</result>
<interceptor-ref name="MyInterceptor">
<param name="hello">wel</param> //使用时改变参数hello的值
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
注意:后面“运行时”的参数会覆盖“声明中"的参数.即:hello的值为wel,在服务器重启的时候加载。
4、自定义拦截器栈和默认拦截器:在struts.xml内,可以自定义组合拦截器形成栈;默认拦截器会自动应用于所有的Action中
<interceptors>
<interceptor name="MyInterceptor" class="com.test.interceptor.MyInterceptor">
<param name="hello">world</param>
</interceptor>
<interceptor-stack name="MyStack">
<interceptor-ref name="MyInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
<default-interceptor-ref name="MyStack"></default-interceptor-ref> //默认拦截器
</interceptors>