首页 > 代码库 > Struts2中防止表单重复提交

Struts2中防止表单重复提交

一、防止表单的重复提交

1、在表单中加入<s:token/>标签
2、在动作类中加入token的拦截器
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
3、增加一个名称为invalid.token的结果视图
<result name="invalid.token">/success.jsp</result>

 

 

jsp页面中

 1     <s:form action="token" namespace="/" >
 2         <s:token></s:token>
 3         <s:textfield label="姓名" name="userName"/> 姓名
 4         <br/>
 5         <s:textfield label="年龄" name="age"/> 年龄
 6         <br/>
 7         <s:textfield label="密码"  name="password"/>密码
 8         <br/>
 9         <s:textfield   name="birthday"/>生日
10         <br/>
11         <s:submit value="提交" />
12     </s:form>

struts.xml中

1     <package name="token" extends="mypackage">
2         <action name="token" class="cn.itcast.action.PersonAction">
3         <interceptor-ref name="defaultStack"></interceptor-ref>
4         <interceptor-ref name="token"></interceptor-ref>
5         <result name="invalid.token">/token.jsp</result>
6             <result name="success">/success.jsp</result>
7             <result name="input">/submit.jsp</result>
8         </action>
9     </package>

类中的提交之后 试试打印userName字段,重复刷新时页面会转到/token.jsp页面