十万火急,求救!在struts的action里面设置的session,只有其指定的forward的JSP页面可以访问,而其他JSP无法访问!

zjhdxx 2003-08-22 03:57:50
我在action的execute方法里面:设置session

HttpSession session = request.getSession();
session.setAttribute("username", username);
.......
//最后指定返回的页面:
return (mapping.findForward("mainframe"));

在mainframe.jsp(在struts_config.xml里面配置的mainframe这个forward对应的jsp)里面可以得到session:
String userid = (String) session.getAttribute("username");
out.prinln("userid="+userid);

而在tree.jsp(tree.jsp是mainframe.jsp的一个frame里的内容)里面用同样的方法得到的是null:
String userid = (String) session.getAttribute("userid");
out.print("userid="+userid);


还有:在mainframe.jsp里面定义了一个session类型的javaBean
<jsp:useBean id="logonBean" scope="session" class="com.zrtek.bean.LogonUserBean" />
<% logonBean.init(userid);//初始化登陆用户Bean
out.println(logonBean.getUser_id());
%>
这个里面可以得到此javaBean的属性。


但同样在tree.jsp里面得到的是Null:
<jsp:useBean id="logonBean" scope="session" class="com.zrtek.bean.LogonUserBean"/>
<%
out.println(logonBean.getUser_id());
%>
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjhdxx 2003-08-22
  • 打赏
  • 举报
回复
还有那个session类型的Bean应用的问题。
我在mainframe.jsp里面定义了一个session类型的javaBean
<jsp:useBean id="logonBean" scope="session" class="com.zrtek.bean.LogonUserBean" />
<% logonBean.init(userid);//初始化登陆用户Bean
out.println(logonBean.getUser_id());
%>
这个里面可以得到此javaBean的属性。

但在tree.jsp里面得到的是Null:
<jsp:useBean id="logonBean" scope="session" class="com.zrtek.bean.LogonUserBean"/>
<%
out.println(logonBean.getUser_id());
%>

为何一个session类型的JavaBean再其他页面里面得不到其设置得值?
session类型得JavaBean怎么应用啊?
还有用上面那个网友提供得方法:
我在mainframe.jsp里面用
session.setAttribute("logonBean", logonBean);
..........
在tree.jsp里面用
session.getAttribute("logonBean", logonBean);
没有报错,可是取出来得logonBean里得值全是null,好像不是上面setAttribute得那个。

zjhdxx 2003-08-22
  • 打赏
  • 举报
回复
不好意思,刚才贴的时候太着急:

tree.jsp里面用的就是:
String username = (String) session.getAttribute("username");
out.print("username="+username);
可是取出来的却是null ?!
我把struts的配置文件struts_config.xml里面配置那个Action对应的forward的jsp该为指向tree.jsp,再执行时就可以输出来。难道Action里定义的session,只能再其forward指定的jsp里面用吗?


jouny0 2003-08-22
  • 打赏
  • 举报
回复
up
kui 2003-08-22
  • 打赏
  • 举报
回复
在action中,你用的是:
  session.setAttribute("username", username);
在tree.jsp,你用的是:
  session.getAttribute("userid");
为何名称不一样?

如果是用Bean,你可以:
session.setAttribute("BeanName", BeanName);
..........
session.setAttribute("BeanName", BeanName);

通过Bean保存username和userid。



67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧