<s:token />标签防止表单重复提交,用法如下:
第一步:在表单中加入<s:token />
<s:form action="hello" method="post" namespace="/hello">
<s:textfield name="person.name /> <s:token /> <s:submit />
</s:form>
第二步:在struts.xml文件中配置拦截器
<action name="hello" class="com.test.HelloWord" method="{1}">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result name="invalid.token">/WEB-INF/page/message.jsp</result>
<result>/WEB-INF/page/result.jsp</result>
</action>
以上配置加入了“token”拦截器和“invalid.token”结果,因为“token” 拦截器在会话的token与请求的token不一致时,
将会直接返回“invalid.token”结果
在debug状态下,控件台出现下面信息,是因为action中并没有struts.token和struts.token.name属性,我们不用关心这个错误。