我的理解:
这个formbean是在第一次访问页面时产生实例的,由ActionServlet维护吧,然后如果再用到这个formbean的实例时,就查找,如果有实例存在就拿来用,没有就产生新的实例,而你在page2中使用的是在page1中生成的,此时的值有E1,E2,Es,在page2中继续使用这个实例,等于是你重新对E1,E2调用相应的setter方法,而Es一直是page1中产生的,一直存在着,并没有被重新设置.
我的理解:
这个formbean是在第一次访问页面时产生实例的,由ActionServlet维护吧,然后如果再用到这个formbean的实例时,就查找,如果有实例存在就拿来用,没有就产生新的实例,而你在page2中使用的是在page1中生成的,此时的值有E1,E2,Es,在page2中继续使用这个实例,等于是你重新对E1,E2调用相应的setter方法,而Es一直是page1中产生的,一直存在着,并没有被重新设置.
这个formbean是在第一次访问页面时产生实例的,由ActionServlet维护吧,然后如果再用到这个formbean的实例时,就查找,如果有实例存在就拿来用,没有就产生新的实例,而你在page2中使用的是在page1中生成的,此时的值有E1,E2,Es,在page2中继续使用这个实例,等于是你重新对E1,E2调用相应的setter方法,而Es一直是page1中产生的,一直存在着,并没有被重新设置.
我的理解:
这个formbean是在第一次访问页面时产生实例的,由ActionServlet维护吧,然后如果再用到这个formbean的实例时,就查找,如果有实例存在就拿来用,没有就产生新的实例,而你在page2中使用的是在page1中生成的,此时的值有E1,E2,Es,在page2中继续使用这个实例,等于是你重新对E1,E2调用相应的setter方法,而Es一直是page1中产生的,一直存在着,并没有被重新设置.
解决方案 »
- 我想做一个二手房的竞价系统
- jsp页面遍历action里的list
- 关于struts2标签的问题?
- 怎样更好的描述此关系:老师A在哪些班级教课分别教哪些课程。hibernate,Map<Classes, Set<Subject>> 映射吗?范型和set怎么办?
- !!传输协议,soa,owl-s问题!!
- SOS,Spring MVC 页面重定向问题!
- 可不可以使用Lucene代替SQL
- 用正则表达式怎么匹配一个时有时无的字符串
- hibernate连接access问题
- HelpMe,会话Bean的调试出错
- 请问j2sdk1.4.2_05报错对Tomcat 5.0查看jsp网页有影响吗?为什么呢?谢谢
- 在类中取得当前文件所在的相对路径与绝对路径
但是我就是想确认一下,是否在Page2页面中能依赖于Es这个元素
换句话说Formbean生命周期能否依赖于WebApp服务器实现的机制
这是JSP规范还是只是局限于某一个Web服务器的行为(我用的是Tomcat)
但是就算是设置为request(我的理解为周期只为一次提交的时候,提交结束后则为无效),
他也会发生跨request的行为,
也就是在多次request时会得到同一个Formbean
这是否为web服务器的行为呢?
理论上是这样的,但是不知道各位是否了解Servlet
Servlet本身不推荐使用类成员变量,成员变量会导致多线程访问出问题
理论上每个Request请求应该让Server重新new一个实例
但是好像Server有时候会用已经存在的Servlet来执行
而楼主的例子也是事实的事情,也证明了在page2中访问到Es,这跟我说的也是相符.
可以再找相关东西看看!
但是如果scope设置为Request,不就是想让这个对象成为类似于局部变量一样,只在这一次的Request中存在么?现在我在项目中就发现了有些人就利用这个特性做代码,
(下一次Request仍然能获取上一次的FormBean,就算是FormBean的Scope设置为Request也不行)
但是我觉得这个特性很不可靠,不应该是Servlet标准中的东西
不知道我的观点正确否
不管怎样,Thanks very much!
代码我会再检查,看看到底出了什么问题
http://community.csdn.net/Expert/topic/3750/3750947.xml?temp=.7102777