0

我正在为我的项目使用 Struts2。从事简单的注册项目。当用户 Login 时,他被定向到他的个人资料,但点击浏览器的后退按钮登录页面再次出现。XML:

<action name="home" class="bharat.Home">
            <result name="success">/jsp/home.jsp</result>
             <result name="student">/jsp/Welcome.jsp</result>
</action>
<action name="Login" class="bharat.LoginAction">
            <result name="input">/index.jsp</result>
            <result name="success">/jsp/Welcome.jsp</result>
</action>

主页.java:

public String execute() {
           if((String)ActionContext.getContext().getSession().get("studentName")!=null)
        {
            return "student";
        }
        if((String) ActionContext.getContext().getSession().get("instructorName")!=null)
        {
            return "instructor";
        }
        session = ActionContext.getContext().getSession();
        session.put("roleName","notAdmin");
        return SUCCESS;
    }

主页.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="cache-control" content="no-cache" />
<meta name="expires" content="0" />
<meta name="pragma" content="no-cache" />
    <sx:head/>

我希望当用户在登录后点击返回按钮时,他必须被重定向回同一页面。任何人都可以帮助我吗..

4

3 回答 3

2

我了解当前流程如下所示:

用户连接到 URL -> 在登录页面上提供登录 -> 加载第一页

您是否考虑将流程更改为以下内容:

用户连接到 URL -> 在登录页面上提供登录信息 -> 转到具有自动重定向到第一页的页面 -> 加载第一页。

这样,当用户从“第一页”返回按钮时,它将获得重定向页面并自动返回“第一页”。

于 2012-07-26T13:28:15.977 回答
0

您可以使用 post 和 redirect 方法,当用户登录时,他/她应该被重定向到欢迎页面。如果您看到银行站点或任何其他安全站点,他们已经部署了相同的机制,并且运行良好。

其次,我建议不要玩,ActionContext因为 Struts2 为您提供了一种更简洁灵活的SessionAware接口实现方式,通过实现这一点,您的 Action 不受底层框架依赖且易于测试

于 2012-07-26T13:33:58.270 回答
-1
<script type="text/javascript">
    function fn()
        {   
                 window.open("WelcomeDirect.action","_self");               
        }
</script>
</head>
<body onLoad="fn()">
Reloading.....
</body>

重定向页面

于 2012-07-27T01:46:55.247 回答