想问下 pageContext.request对象和requestScope 对象的区别

charles_wang8888 2008-11-05 09:47:57
在学习EL时候遇到一点麻烦,想请教下大家

el(表达式语言中)可以使用pageContext来间接访问JSP的内置对象,比如检索请求的方法,${pageContext.request.method}
我想问的是,假如有个java代码是

<jsp:useBean id="someid" scope="request" class="somePackage.someClass"/>
那么根据我的理解,就是将一个名字叫someid的bean 实例,将其添加到了request作用域中,也就是相当调用了request.setAttribute("someid",所有bean信息);

则如果我要在el表达式中访问这个bean的属性(假如有个属性 String someAttribute)
那么应该要用 ${requestScope.someId.someAttribute}呢,还是${pageContext.request.someId.someAttribute}?
...全文
562 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
soft200816 2010-01-23
  • 打赏
  • 举报
回复
好东东
tigerwuaq 2008-12-17
  • 打赏
  • 举报
回复
charles_wang8888 2008-11-25
  • 打赏
  • 举报
回复
已经明白了,谢谢各位
yinyuehan823 2008-11-05
  • 打赏
  • 举报
回复
学习了~
cuiyunshow 2008-11-05
  • 打赏
  • 举报
回复
你可以试一下,用${pageContext.request.method}获得值
与request.getMethod()获得的值是一样的。
request中还有很多方法,比如request.getContextPath()
你也可以通过$(pageContext.request.contextPath)获取
但是通过requestScope.contextPath是获取不了的
requestScope只是将setAttibute方法保存的值获取出来。
大概就是这样的
cuiyunshow 2008-11-05
  • 打赏
  • 举报
回复
pageContext.request.method实际上是调用request类中的getMethod方法
而在HttpServletRequest类中实际上是没有一个叫getSomeId的方法,所以
${pageContext.request.someId.someAttribute}不行
cuiyunshow 2008-11-05
  • 打赏
  • 举报
回复
应该用${requestScope.someId.someAttribute}
charles_wang8888 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liaoyi_ipanel 的回复:]
${someId}
这样就行,默认是requestScope
[/Quote]

我知道这样可以,我只是想学习的更加深刻一点而已,找到pageContext.request和requestScope这2个之间的区别而已。呵呵
liaoyi_ipanel 2008-11-05
  • 打赏
  • 举报
回复
${someId}
这样就行,默认是requestScope

81,095

社区成员

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

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