阻止重复提交? struts2 的 token 这么搞绝对没问题!
来源:互联网 发布:ajax eval json 编辑:程序博客网 时间:2024/05/16 09:18
虽然struts2的标签用起来不是很方便不过 <s:token/>这个标签要我们自己来实现的话真的不太容易!!!
struts2 token 使用说明
-------------------------------------------------------------------------------------------------------------------
使用token标签的时候,Struts2会建立一个GUID(全局唯一的字符串)放在session中,并且会成为一个hidden放在form中。
token拦截器会判断客户端form提交的token和session中保存的session是否equals。如果equals则执行Action。否则拦截器直接返回invaid.token结果,Action对应的方法也不会执行
1.首先我们在jsp页面上导入struts标签库
<%@ taglib uri="/struts-tags" prefix="s" %>
2.在表单中添加<s:token/>标签
<form action="user/login" method="get">
用户名:<input name="username"><br>
密码:<input name="password"><br>
<s:token></s:token>
<input type="submit" value="登录">
</form>
3.添加了<s:token/>的表单在服务器返回之后会被添加一个隐藏域用于存储token这个令牌
<form action="" method="post"> 用户ID:<input name="user.id"> 姓名:<input name="user.name"> <input type="hidden" name="struts.token.name" value="token" /><input type="hidden" name="token" value="11R5FX3JFC3QB2QUQ0M717U2A2RUCI66" /> <script type="text/javascript">
4.在struts.xml中配置token的拦截
<action name="login" class="com.xiangzi.action.UserAction">
<result name="success">/ok.jsp</result>
<interceptor-ref name="defaultStack" ></interceptor-ref>
<interceptor-ref name="token" ></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>
注意:1.这里需要些两个拦截器,默认的defaultStack要在上面,token在下面,为了能是所有拦截器有效
2.这个 <action>映射的action.class是需要继承ActionSupport这个类的,不然struts识别不了
3.要在这个<action> 中配置一个 name="incalid.token" 的result结果,作为拦截之后的跳转
5.就是这么简单!
- 阻止重复提交? struts2 的 token 这么搞绝对没问题!
- struts2 token 防止重复提交
- Struts2 token 重复提交问题
- Struts2 避免重复提交 [Token]
- Struts2 token 重复提交问题
- Struts2 token的使用,避免表单重复提交
- struts2防止表单重复提交 token
- Struts2解决重复提交问题(Token)
- struts2 token 防止重复提交原理
- struts2之防止表单重复提交 token
- Struts2----><s:token />标签防止重复提交
- struts2使用token做重复提交处理
- struts2-Token Interceptor(处理表单重复提交)
- Struts2利用token防止表单重复提交
- Struts2拦截器token防止重复提交
- Struts2 token防止再重复提交
- Struts2<s:token>防止表单重复提交
- 重复提交 token的应用
- HTML5 地理定位
- java微信网页授权获取用户信息以及JSSDK自定义分享等功能<三>
- 如何推广一个新的App软件
- Xshell连接Linux中文系统时显示中文乱码的问题
- App运营必须关注的5个数据指标
- 阻止重复提交? struts2 的 token 这么搞绝对没问题!
- Android 学习系列
- mysql 查看版本
- Android与服务器交互
- 12.8工作日志
- MFC 手把手 写一个文件播放小程序(这个是直接copy的 我会动手做一遍 然后发自己原创的)
- oracle 自增长序列
- 详解APP应用分发平台的榜单推荐和搜索排名规则
- 三种将list转换为map的方法