我正在为我的项目使用Struts2。 致力于简单的注册项目。当用户登录时,他被定向到他的个人资料,但是在点击浏览器的后退按钮时,再次出现登录页面。 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>
Home.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;
}
回到Home.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/>
我希望当用户在登录后点击后退按钮时,必须将其重定向回同一页面。任何人都可以帮助我..
答案 0 :(得分:2)
我知道目前的流程如下:
用户连接到网址 - &gt;提供登录页面登录 - &gt;先加载 页
您是否考虑将流程更改为以下内容:
用户连接到网址 - &gt;提供登录页面登录 - &gt;转到页面 使用autoredirect到第一页 - &gt;加载第一页。
这样当用户从“第一页”切换回按钮时,它将获得重定向页面并自动返回到“第一页”。
答案 1 :(得分:0)
您可以使用发布和重定向方法,在用户登录时您需要将他/她重定向到欢迎页面。 如果您看到银行站点或任何其他安全站点,他们已经部署了相同的机制,并且它可以正常工作。
其次我建议不要使用ActionContext
,因为Struts2已经为您提供了一种更加干净和灵活的方式来实现SessionAware
接口,通过实现这一点,您的Action可以免于底层框架依赖,并且易于测试
答案 2 :(得分:-1)
<script type="text/javascript">
function fn()
{
window.open("WelcomeDirect.action","_self");
}
</script>
</head>
<body onLoad="fn()">
Reloading.....
</body>
重定向页面