【问题标题】:How to avoid page refreshing when i click the back button单击后退按钮时如何避免页面刷新
【发布时间】:2013-10-07 09:29:33
【问题描述】:

我正在使用 struts2 创建登录和注销功能,当用户登录时,我将为他创建会话,通过使用拦截器,我将过滤所有用户是否在会话中,如果会话未创建,我会将页面重定向到登录........我的问题是,一旦我完成注销,它将重定向到登录页面,但是当用户单击浏览器后退按钮时,页面将被刷新并再次登录,,,,,,谁能帮助我摆脱这个问题

提前致谢

【问题讨论】:

  • 谁能帮我在struts 2中设置cookie并检查每个用户的注销

标签: session struts2 refresh interceptor


【解决方案1】:

当您单击浏览器上的“当用户单击后退按钮时,页面会从缓存中加载,但这并不意味着再次为登录的用户创建会话。当用户单击该页面上的任何授权链接时,您的服务器端代码将检查用户是否没有有效会话并返回登录页面。
解决方案:但是,如果您不希望用户要获取缓存页面,您可以为站点中的每个页面加载一个脚本,例如 checkLogin.js。此脚本应在页面加载事件时执行。当用户注销时,在 cookie 中设置一个变量来指示用户已注销。当用户单击返回按钮时,该脚本将被执行。该脚本将使用提到的 cookie 变量检查用户是否已注销。如果用户已注销,则使用 javascript 重定向到登录页面。

【讨论】:

  • 感谢您宝贵的时间,如果您不介意,请您解释一下该怎么做
  • 你想要完整的代码还是特定的东西,比如访问 cookie 或...?
  • 我对这个 struts2 很陌生,你能把整个代码发给我吗,谢谢
  • 我不知道struts。我是.net 家伙。但是您的问题不依赖于特定的技术。您需要搜索如何在结构中设置 cookie,然后搜索如何使用 javascript 访问 cookie。我相信你会找到的。我已经解释了它是如何完成的。
【解决方案2】:

为了避免刷新,我在登录成功后将我的页面重定向到菜单未转发,我已经摆脱了那个鬼问题 在你的 struts.xml 中这样使用

<result name= success" type="redirect">Menu.jsp</result>

谢谢大家

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-30
    • 2014-01-20
    • 2017-05-17
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    相关资源
    最近更新 更多