struts2中使用Token避免表单重复提交
2014-07-17 16:28
387 查看
struts2中使用Token避免表单重复提交:
1.在jsp页面使用标签<s:token/>
2.在拦截器栈中加入Token拦截器
1.reg.jsp页面代码
<body>
<!--会打印出错误信息 -->
<s:actionerror/>
<s:debug/><br/>
<s:form namespace="/token" action="TokenAction_re
g" method="post" >
<s:token/>
<s:textfield name="name" label="UserName" />
<s:submit />
</s:form>
</body>
2.TokenAction页面代码
package test.token;
import com.opensymphony.xwork2.ActionSupport;
//处理表单重复提交的问题
public class TokenAction extends ActionSupport {
private static final long serialVersionUID = 8674907043033511945L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String reg(){
System.out.println("reg" + name);
return "success";
}
public String toRegView(){
System.out.println("regView");
return "regView";
}
}
3.重点在token.xml页面上
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="tokenPkg" namespace="/token" extends="struts-default" >
<action name="TokenAction_*" class="test.token.TokenAction" method="{1}" >
<result name="success">/token/success.jsp</result>
<result name="regView">/token/reg.jsp</result>
<!-- 配置无效令牌的返回页面 -->
<result name="invalid.token">/token/reg.jsp</result>
<!--如果指定了一个拦截器,则会覆盖默认的配置,必须手动指定默认栈 -->
<interceptor-ref name="token">
<!-- 排除 toRegView方法,不让拦截器验证这个方法的令牌有没有提交了-->
<param name="excludeMethods">toRegView</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</action>
</package>
</struts>
1.在jsp页面使用标签<s:token/>
2.在拦截器栈中加入Token拦截器
1.reg.jsp页面代码
<body>
<!--会打印出错误信息 -->
<s:actionerror/>
<s:debug/><br/>
<s:form namespace="/token" action="TokenAction_re
g" method="post" >
<s:token/>
<s:textfield name="name" label="UserName" />
<s:submit />
</s:form>
</body>
2.TokenAction页面代码
package test.token;
import com.opensymphony.xwork2.ActionSupport;
//处理表单重复提交的问题
public class TokenAction extends ActionSupport {
private static final long serialVersionUID = 8674907043033511945L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String reg(){
System.out.println("reg" + name);
return "success";
}
public String toRegView(){
System.out.println("regView");
return "regView";
}
}
3.重点在token.xml页面上
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="tokenPkg" namespace="/token" extends="struts-default" >
<action name="TokenAction_*" class="test.token.TokenAction" method="{1}" >
<result name="success">/token/success.jsp</result>
<result name="regView">/token/reg.jsp</result>
<!-- 配置无效令牌的返回页面 -->
<result name="invalid.token">/token/reg.jsp</result>
<!--如果指定了一个拦截器,则会覆盖默认的配置,必须手动指定默认栈 -->
<interceptor-ref name="token">
<!-- 排除 toRegView方法,不让拦截器验证这个方法的令牌有没有提交了-->
<param name="excludeMethods">toRegView</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</action>
</package>
</struts>
相关文章推荐
- Struts2 token的使用,避免表单重复提交
- 使用struts2的token机制和cookie来防止表单重复提交
- struts2中t使用token防止重复提交表单
- 使用token在服务器端避免表单的重复提交
- Struts2中使用<s:token>防止表单重复提交
- 我对servlet+jsp当中使用token令牌避免用户重复提交表单的见解
- 使用struts2的token机制和cookie来防止表单重复提交
- struts2中使用token避免重复提交
- 使用Struts2的token机制和Cookie来防止表单重复提交
- 使用struts2的token机制和cookie来防止表单重复提交
- Struts2 中使用token标签防止刷新和后退进行重复提交
- 使用Struts的Token机制解决表单的重复提交
- 使用struts2拦截器实现防止表单数据重复提交
- 防止重复提交表单---Struts中Token的使用方法
- 不用struts2的token机制,手动防止表单数据重复提交
- 使用Struts的Token机制解决表单的重复提交
- 使用Struts的Token机制解决表单的重复提交
- 使用Struts的Token机制解决表单的重复提交(转ewolf的工作专栏)
- struts2 采用Session Token(Token 令牌)避免表单重负提交
- 使用Struts2防止表单重复提交