防止表单重复提交,需要在表单中增加一段随机字符串,来验证是否重复提交。 表单使用struts标签库生成:
<s:form action="login" theme="simple">
username: <input type="text" name="username" />
<br />
password:<input type="password" name="password" />
<s:token></s:token><!-- 插入token -->
<input type="submit" value="提交" />
</s:form>
Action类不需要作任何修改,只需修改struts.xml中配置:
<action name="login" class="com.struts2.LoginAction">
<result name="success">/result.jsp</result>
<result name="input">/login.jsp</result>
<result name="invalid.token">/1.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
增加三行,struts2在检测到重复提交时会返回name为invalid.token的结果,需要加上拦截器。