小弟在页面中form里面配置了<form action="<%=request.getContextPath() %>/*****.action" id="***Form" enctype="multipart/form-data" method="post"><s:token name="token" />struts.xml里面配置的(针对action)<interceptor-ref name="defaultStack" />
<interceptor-ref name="token"/>
<result name="invalid.token">/error/404.jsp</result>执行顺序,小弟是先查询出一个列表页面,之后点击‘增加’跳转到增加页面,最后再提交回列表页面,这里面增加令牌机制可如上配置完成后,点击列表都直接进入404.jsp页面了,这怎么回事啊
<interceptor-ref name="token"/>
<result name="invalid.token">/error/404.jsp</result>执行顺序,小弟是先查询出一个列表页面,之后点击‘增加’跳转到增加页面,最后再提交回列表页面,这里面增加令牌机制可如上配置完成后,点击列表都直接进入404.jsp页面了,这怎么回事啊
regist.jsp
<s:form action="regist">
<s:token />
<s:actionerror />
<s:textfield name="userName" key="userName"/>
<s:submit value="submit"/>
</s:form>struts.xml<package name="default" extends="struts-default">
<action name="regist" class="action.RegistAction">
<interceptor-ref name="token"/>
<interceptor-ref name="defaultStack"/>
<result name="invalid.token">/regist.jsp</result>
<result>/regist.jsp</result>
</action>
</package>你的问题在于拦截器的顺序,应该把token放在所有拦截器之前,以确保更早的拦截所有请求。另外<s:token/>有没有name属性我不清楚,我从没加过。