关于一个jsp中全局变量声明时的问题

999朵玫瑰 2009-03-26 02:33:27
在jsp中,我可以定义一个局部变量
<% 
User user = (User)request.getAttribute("user");
%>


在下一个<% %>中再用这个user,编译没问题,但是一运行,就会报空指针错误

所以我想定义一个全局user,整个jsp页面都可以共享
问题出现了,
<%! 
User user = (User)request.getAttribute("user");
%>


这样写的时候编译不通过,说是request对象。。。
我该怎么写呢?
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoojo 2009-03-26
  • 打赏
  • 举报
回复
前提
servlet或jsp 有这个 request.setAttribute("user",user);//把user设置到request中
到下一个jsp

User user = (User)request.getAttribute("user");
<%=user.属性%> 是可以的
当然${user.属性}
EL表达式更好
台城柳月 2009-03-26
  • 打赏
  • 举报
回复
可以直接这样用啊
${user.属性}
在页面上那都能用
ouyangxiaokang6 2009-03-26
  • 打赏
  • 举报
回复
可不可以这样呀。
先定义:
<%!User user =""%>
然后赋值:
<%user=(User)request.getAttribute("user"); %>
然后引用:
<%user.xxx%>
zhj92lxs 2009-03-26
  • 打赏
  • 举报
回复
<%!
User user = (User)request.getAttribute("user");
%>
这个最后会生成servlet的属性,就像
class a{
private String s = ss.toString();
}
你觉得这样会是正确的吗
yongxing14 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 OnlyOneLove 的帖子:]
在jsp中,我可以定义一个局部变量

HTML code<%
User user = (User)request.getAttribute("user");
%>



在下一个 <% %>中再用这个user,编译没问题,但是一运行,就会报空指针错误

[/Quote]

应该可以用。确保request中有“user”就可以了。不用想其他的了。
sjkof 2009-03-26
  • 打赏
  • 举报
回复
request中有user这个attribute吗?
999朵玫瑰 2009-03-26
  • 打赏
  • 举报
回复
<%! 
User user = (User)request.getAttribute("user");
%>


不是感叹号的问题,我试了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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