zoukankan      html  css  js  c++  java
  • struts中的redirect="true"与redirect="false"

    struts中的redirect="true"与redirect="false"

    Redirect=”true”
    浏览器重定向
    比喻,就像人在浏览器的地址栏中重新输入了网址,然后转向该网址一样,只是,这个不是由人输入的,是程序控制的而已。
    特点:
    1.         可以转到任意网页,无论是本站点的,还是别的站点。
    例如可以用此方法从自己的网站跳到sohu主页^_^
    感觉似乎有点像js的location.href
    2.         request会被清空
    可以理解,你在浏览器里面重新输了一个地址,难道request还能够被传过去吗?
    3.         form表单中的东东会被清空
    即使是跳到同一个页面,form中的东东也会被清空。(连request都没有保住,form中的东东难道还能苟延残喘吗?)
    4.         。。。
     
    Redirect=”false”
    服务器端跳转
    比喻:服务器把用户的请求转到了另一个地方
    特点:
    1.         只能在一个web服务中跳转
    那当然了,你难道还把自己服务的请求(request)转到sohu去吗?人家人都不认识你,理不理你都还不一定呢,不要自作多情
    2.         request保留
    嘿嘿,用redirect=”false”就是冲这个了
    3.         form表单会保留
    同2
     
     
    用处:
    例如,一个修改功能,修改完后,肯定要返回页面咯,若保存的时候出错,返回可以用redirect=”false”,让用户填的东东还在上面,可以修改了再提交。若保存成功,则用户填的那些东东就不用要了,可以redirect=”true”了,把那些东东保留着,还容易让用户错觉觉得没有成功呢
     
    注意事项:
    redirect=”true”时,由于request会被清掉,所以提示信息需要保存到session中(保存到哪儿随你啦,反正保存到request中会没掉)

    redirect=”false”就没有关系了,request/session随便用,

    一般是通过在struts-config.xml中设置redirect="true" 阻止用户连续提交。

  • 相关阅读:
    sqlserver监控体系
    使SQL用户只能看到自己拥有权限的库
    存储过程版本控制-DDL触发器
    查看剩余执行时间
    迁移数据库文件位置
    sublime使用Package Control不能正常使用的解决办法
    未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序的处理方式
    1770Special Experiment
    1848Tree
    1322Chocolate
  • 原文地址:https://www.cnblogs.com/cn08/p/2461009.html
Copyright © 2011-2022 走看看