struts2.1.8 token拦截器配置问题
jar包:struts2-core-2.1.8.jar,xwork-core-2.1.6.jar
小弟在测试token拦截器时发现怎么配都有问题,故特来求教,先谢了!
第一种方式:
struts.xml
<package name="actionTwo" namespace="/" extends="struts-default">
<global-results>
<result name="invalid.token" >/s2Page/repeatSubmitTest.jsp</result>
</global-results>
<action name="money_*" method="{1}" class="web.action.ShowMeTheMoney" >
<result name="destination">/s2Page/HelloWorld.jsp</result>
<result name="success">/s2Page/Hello.jsp</result>
</action>
<action name="s2Action" class="web.action.Struts2Action">
<interceptor-ref name="token"/>
<interceptor-ref name="defaultStack" />
<result name="success" type="redirectAction">
<param name="namespace">/</param>
<param name="actionName">money_gotoThePage</param>
</result>
</action>
</package>
提交请求页面jsp:
<s:form action="s2Action" namespace="/" method="post">
<s:token name="token"></s:token>
<s:submit value="s2Action, goto struts2 page!"></s:submit>
</s:form>
提示页面repeatSubmit.jsp:
<div class="div_center">
<span class="waring">
<font size="5" color="red">您已经成功提交,请不要重复提交!</font>
</span>
</div>
<s:actionerror/>
现象:
第一次点击按钮提交可以正常跳转,后退后再次提交成功跳转到提示重复提交的页面但是<s:actionerror/>没有显示控制台的警告信息,后退刷新后能够再次正常跳转.
问题:
1,为什么<s:actionerror/>没有显示控制台的警告信息?
2,为什么刷新后能再次跳转呢?
第二种
struts.xml
<package name="actionTwo" namespace="/" extends="struts-default">
<interceptors>
<interceptor-stack name="myStack">
<!--引用struts2默认定义token拦截器解决重复提交 -->
<interceptor-ref name="token"/>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
<global-results>
<result name="invalid.token" >/s2Page/repeatSubmitTest.jsp</result>
</global-results>
<action name="money_*" method="{1}" class="web.action.ShowMeTheMoney" >
<result name="destination">/s2Page/HelloWorld.jsp</result>
<result name="success">/s2Page/Hello.jsp</result>
</action>
<action name="s2Ac