当前位置:编程学习 > JAVA >>

JavaBean范围的问题


【疑惑?!】这里有个奇怪的现象,一般来说从demo2中setProperty定义了scope定义成request,demo3也定义成reuqest,这样的话只能通过jsp:forward跳转的信息demo3才能接受,这个没有问题。 
但如果将demo3里的scope换成session,demo2还是request,原本无法接收到的resoponse重定向就接受到了?这个是为什么? 

demo2
<body>
    <jsp:useBean id="userrequest" scope="request" class="tools.aaa"></jsp:useBean>
    <jsp:setProperty  name="userrequest" property="userName" />
 
    <jsp:forward page="javabeandemo3.jsp"></jsp:forward>
  </body>
</html>

demo3

<html>
  <head>
     <title>JavaBean 的范围——接收request</title>

  </head>
  <body>
  <jsp:useBean id="userrequest" scope="request" class="tools.aaa"></jsp:useBean>
  <jsp:getProperty name="userrequest" property="userName" />
  </body>
</html>
--------------------编程问答-------------------- 这个jsp的标签没怎么用,这种直接用el表达式了 --------------------编程问答-------------------- ....还有额,
  <table>
 <tr>
 <td>$(10/2)</td> 
  <td>$(1+1)</td>
  </tr>
但为什么显示的就是$(10/2)和$(1+1)而不是运算结果呢? --------------------编程问答-------------------- 大虾帮忙回答一下额。 --------------------编程问答--------------------
引用 2 楼 djwin90 的回复:
....还有额,
  <table>
 <tr>
 <td>$(10/2)</td> 
  <td>$(1+1)</td>
  </tr>
但为什么显示的就是$(10/2)和$(1+1)而不是运算结果呢?


这个是el表达式,你直接这么写的话会默认当作字符显示的。如果,你是从action传过来的话比如:
${number+1} 假设在action 有这个number的 getter/setter方法,并且number赋值为10,那么输出的话就会是11了。lz可以去试试。如果放在request中的话:${requestScope.number+1}这么取就可以了 --------------------编程问答-------------------- el表达式写错了
应该是 <tr>
 <td>${10/2}</td>  
  <td>${1+1}</td>
  </tr>
--------------------编程问答-------------------- 我看你是想将页面demo2跳转至demo3对吧!
你修改bean的范围也应该是在demo2中修改呀。response中不会带有request中属性。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,