8防止重复提交
2016-07-12 15:44
381 查看
struts2防止重复提交
Struts2中防止重复提交需要在<action >...</action>中增加下面的配置:
//使用系统的token拦截器
<interceptor-ref name="token"/>
//使用系统的默认拦截器
<interceptor-ref name="defaultStack"/>
//如果是重复提交需要转向的页面
<result name="invalid.token" >/error_chongfu.jsp</result>
例如:
<action name="testAdd" class="testAction" method="testAdd">
<interceptor-ref name="token"/>
<interceptor-ref name="defaultStack"/>
<result name="invalid.token" >/error.jsp</result>
<result name="success">/index.jsp</result>
<result name="error">/error.jsp</result>
</action>
然后再JSP导入struts2的标签库:<%@taglib prefix="s" uri="/struts-tags"%>,并在<form>...</form>中放置<s:token />。
其中<s:token />标签用来生成一个唯一的隐藏token标识并将此标识放到session中,在运行的时候生成的内容如下:
<input type="hidden" name="struts.token" value="C21ZWHEH0Q4B6FY15ZO5BFM1I9W8SIQH" />
例如:
<%@page contentType="text/html; charset=utf-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<form id="productForm" method="post" action="${ctx }/testAdd.action">
请输入用户名称:<input type="text" name="roleName" value="mmmmm">
<s:token />
<input type="submit" value="提交">
</form>
</html>
这样当我们提交表单时就会有struts2的token拦截器拦截,token拦截器将会话token与请求token比较,如果重复提交则返回invalid.token结果并转到相应的页面。
Struts2中防止重复提交需要在<action >...</action>中增加下面的配置:
//使用系统的token拦截器
<interceptor-ref name="token"/>
//使用系统的默认拦截器
<interceptor-ref name="defaultStack"/>
//如果是重复提交需要转向的页面
<result name="invalid.token" >/error_chongfu.jsp</result>
例如:
<action name="testAdd" class="testAction" method="testAdd">
<interceptor-ref name="token"/>
<interceptor-ref name="defaultStack"/>
<result name="invalid.token" >/error.jsp</result>
<result name="success">/index.jsp</result>
<result name="error">/error.jsp</result>
</action>
然后再JSP导入struts2的标签库:<%@taglib prefix="s" uri="/struts-tags"%>,并在<form>...</form>中放置<s:token />。
其中<s:token />标签用来生成一个唯一的隐藏token标识并将此标识放到session中,在运行的时候生成的内容如下:
<input type="hidden" name="struts.token" value="C21ZWHEH0Q4B6FY15ZO5BFM1I9W8SIQH" />
例如:
<%@page contentType="text/html; charset=utf-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<form id="productForm" method="post" action="${ctx }/testAdd.action">
请输入用户名称:<input type="text" name="roleName" value="mmmmm">
<s:token />
<input type="submit" value="提交">
</form>
</html>
这样当我们提交表单时就会有struts2的token拦截器拦截,token拦截器将会话token与请求token比较,如果重复提交则返回invalid.token结果并转到相应的页面。
相关文章推荐
- Struts - 标签库
- struts1.0于struts2.0的比较
- Struts2中关于namespace的学习心得
- Struts2----自定义action的学习心得
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- struts2
- SSH学习笔记---struts2 spring集成时action的class的值
- ssh--问题记录
- 文章标题 使用ajaxFileupload+struts2完成文件的上传以及回显到jsp的链接地址
- struts 学习笔记
- Struts2 的基本配置
- struts2框架架构流程
- struts2.0拦截器(实现未登录的用户不能访问系统的页面)(转)
- Struts2 面试题分析
- Struts2+jQuery+JSON实现异步交互
- 软件开发疑惑解答
- ajax ssh 整合
- 关于struts2框架学习
- struts2 @Action给方法注解
- struts2学习笔记