现在在做一个登录页面,将登陆的用户信息通过Struts2的action将session传入到index页面中,但是index页面是由frameset框架构成,问题是session传过来之后在top.jsp一直获取不到
dlUserInfo = dlUserInfoService.findUserInfoByWhere(dl_Name, newPassword);
session = getSession();
if(dlUserInfo != null){
session.put("dlUserInfo", dlUserInfo);
return "loginSuccess";
}else{
return "loginFail";
}
<frameset rows="180,*,50" frameborder="no" border="0" framespacing="0">
<!--头部-->
<s:hidden value=""></s:hidden>
<frame src="frame/top.jsp?dlUserInfo=${dlUserInfo }" name="top" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
<!--主体部分-->
<frameset cols="250,*">
<!--主体左部分-->
<frame src="frame/left.jsp" name="left" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
<!--主体右部分-->
<frame src="frame/main.jsp" name="main" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" />
</frameset>
<!-- 底部 -->
<frame src="frame/bottom.jsp" name="bottom" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
</frameset>
<frameset rows="180,*,50" frameborder="no" border="0" framespacing="0">
<!--头部-->
<s:hidden value=""></s:hidden>
<frame src="frame/top.jsp?dlUserInfo=${dlUserInfo }" name="top" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
<!--主体部分-->
<frameset cols="250,*">
<!--主体左部分-->
<frame src="frame/left.jsp" name="left" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
<!--主体右部分-->
<frame src="frame/main.jsp" name="main" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" />
</frameset>
<!-- 底部 -->
<frame src="frame/bottom.jsp" name="bottom" noresize="noresize" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" />
</frameset>
你在其他frame登录,页头要在登录后刷新才能获取到,要是先获取在登录前执行肯定获取不到了,这个循序你要搞清楚
一般我是这么干的
这个位置我没有直接包含页面 而是请求一个action方法 例如 mainAction!left 然后在这个方法里面获取session到request中 setattr一下
然后跳转到left.jsp 再在left.jsp 通过各种方式取到
session 不管跳转吧,只要不过期,都可以取到