方法一:
註冊頁面:
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>