1、在表单中增加隐藏域:<s:token></s:token>
2、在struts.xml中增加结果集:<result name="invalid.token">/user/error.jsp</result>
3、在error.jsp中增加错误提示: <s:actionerror />
4、由于默认的拦截器中没有令牌拦截器,需要手动增加
<interceptors>
<interceptor-stack name="tokenStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token">
<param name="includeMethods">add</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
并将新定义的拦截器设置为默认的拦截器:
<default-interceptor-ref name="tokenStack"></default-interceptor-ref>
由于错误提示是英文版,用加载资源文件的方式将之替换成中文
5、在src下定义token.property文件,name=struts.messages.invalid.token。value=重复提交错误。
6、加载资源文件到struts中,value属性为其资源文件所在的完整路径名
<constant name="struts.custom.i18n.resources"
value="com.struts.cwl.struts2.action.token>
</constant>