`
finally_m
  • 浏览: 66942 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts 令牌机制(Token)

阅读更多

问题:
 解决表单重复提交,由于修改和删除是根据ID进行相关操作,所以没有重复提交的问题,重复提交主要是解决添加操作。
 
 实现步骤及思路:
 
 1. 用户单击添加链接时,进入PrepareAddTokenAction预处理操作
  ,在当前会话创建一个令牌,然后把请求转发到添加页面addToden.jsp
  
 2. 添加页面使用<html:form>标签在客户端产生一个令牌(自动产生,通过隐藏域,可查看IE源文件)
  ,输入数据后提交请求给AddTokenAction执行添加业务操作,之后跳转到ListTokenAction查询数据列表
 
 3. 关键的问题在这一步,当用户刷新该数据列表页时,因为此时的IE浏览器的URL还是添加操作时的路径
  ,所以添加请求将被再次请交,为避免这种情况,我们在AddTokenAction执行添加之前
  ,验证客户端的令牌值是否与用户会话中的一致(也就是在PrepareAddTokenAction中保存的令牌值)
  ,从而决定是否是重复提交。
  
  
更详细的实现请查看代码。

 

注意:本示例需要struts1.2支持,请自行添加相关jar包!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics