Struts2令牌拦截器总是失败
问题描述:
我试图做到这一点,所以一旦我提交这个表单,我不能点击后退按钮,但对于当前配置,我甚至无法加载页面/表单。我似乎无法弄清楚为什么“invalid.token”总是被触发,从而将我重定向到index.jsp,无论我的表单中有像我应该做的那样的令牌标记。如果我使用“excludeMethods”过滤器并排除查看然后我的页面加载,但我可以*地点击后退按钮,所以它仍然无法正常工作。我尝试过移动interceptor-ref在noLoginStack的上下,但它没有什么不同。基于我的调试,我的实际java类甚至没有被击中,所以它在那之前失败了。我究竟做错了什么?Struts2令牌拦截器总是失败
我的行动宣言:
<action name="viewAppointmentLetter" class="edu.ucr.c3.rsummer.controller.instructor.ManageAppointmentLetters">
<interceptor-ref name="noLoginStack"/>
<interceptor-ref name="token" />
<result name="invalid.token">/index.jsp</result>
<result name="error" type="redirectAction">index.do</result>
<result name="input">/instructor/assigned_appts.jsp</result>
<result name="view">/instructor/assigned_appts.jsp</result>
<result type="redirectAction">index.do</result>
</action>
我assigned_appts.jsp:
<s:form action="saveAppointmentLetter" onsubmit="return verifySubmit();">
<s:token name="token" />
.....
</s:form>
如果它的任何线索,我总是在我的控制台
WARN org.apache.struts2.util.TokenHelper - Could not find token name in params.
答
得到这个在Struts2的顺序拦截器是非常重要的。你应该按照这个顺序。
<interceptor-ref name="token"/>
<interceptor-ref name="noLoginStack"/>
答
使用TokenSession interceptor.Had由result name="invalid.token"
在具体行动struts.xml的处理结果。 您在该页面上产生动作的页面必须在标题中写入<s:token>
标记
它总是会更好地为您的答案提供一些描述,因为它可以帮助他人理解您想传达的内容 – 2012-02-29 02:25:18
@Umesh thanks为您的建议。 – 2012-02-29 02:43:36
不幸的是,我已经尝试过,我仍然得到同样的问题,任何其他建议? – 2012-02-29 17:08:58