• 总结 15/4/27


    表单重复提交

    1.什么是表单重复提交

    在不刷新表单页面的情况下:

      》多次点击提交按钮

      》已经提交成功,按"回退"之后,再点击"提交按钮"

      》在控制器响应页面的形式为转发情况下,若已提交成功,然后几点刷新(或者F5)

    注意:》若刷新表单页面,再提交表单不算是重复提交

       》若使用的是redirect的响应类型,已经提交成功后,再点击刷新不算重复提交

    表单重复提交的危害:

      》加重服务器负担

      》可能导致错误操作

    struts2 解决表单重复提交问题

    1.在s:form中添加s:token 子标签

      》生成一个隐藏域

      》在session 添加一个属性值

      》隐藏域中的值和session中的属性值是一致的。

    2.使用Token或TokenSession拦截器

      》这两个拦截器均不在默认的拦截器栈中,所以需要手工配置

      》若使用Token拦截器,则需要配置一个token.valid 的 result

      》若使用TokenSession拦截器,则不需要配置任何其他的result

    3.使用Token或TokenSession拦截器的区别

      》都是解决表单重复提交问题

      》使用Token拦截器会转到token.valid 这个 result

      》使用TokenSession 拦截器则还会响应那个目标页面,但不会执行目标TokenSession的后续拦截器,好像什么都没发生一样!

    4.注意使用s:actionerror标签来显示重复提交的错误消息,改错误消息可以在国际化资源文件中覆盖

  • 相关阅读:
    天梯赛 社交集群(并查集)
    蓝桥杯 正则问题(dfs)
    天梯赛L3-001. 凑零钱(01背包记录物品)
    天梯赛/PAT 二叉树总结
    GPLT天梯赛 L2-022. 重排链表
    蓝桥杯 2的次幂表示(递归)
    排列与组合的一些定理
    卡特兰数
    洛谷P1349 广义斐波那契数列(矩阵快速幂)
    Manacher's Algorithm 马拉车算法(最长回文串)
  • 原文地址:https://www.cnblogs.com/yydeyi/p/4460708.html
Copyright © 2020-2023  润新知