方法一:
注册页面:
register.jsp
<body>
<form action="login.action" method="post">
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>
<!-- 这里加上token标签就OK,然后交给后台处理 -->
<s:token></s:token>
<input type="submit" value="submit">
</form>
</body>
struts.xml配置如下:
<action name="register" class="com.test.action.RegisterAction">
<result name="success">/result.jsp</result>
<!-- 这里的name一定要为invalid.token -->
<result name="invalid.token">/repeatSubmitError.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
方法二:
jsp跟Action都不需要做任何改变,只需改变struts.xml的配置
<action name="register" class="com.test.action.RegisterAction">
<result name="success">/result.jsp</result>
<!--使用tokenSession拦截器,如果发现重复提交,会直接返回success的结果页面
一般论坛都使用这种方式,不管刷新多少次。其实都只执行一次
-->
<interceptor-ref name="tokenSession"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>