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

struts2 问题

  用struts2.1.8 + spring 2.5 搭的框架。遇到以下问题。
   
  1.在页面输入查询条件,在后台将查询条件放入session中,然后跳转该页面。查询条件可以显示。可是关闭浏览器。重新启动以后(直接进入action方法,然后跳转页面),页面查询条件依然显示。用其它电脑访问也显示。该怎么解决。
  2.在页面有一些checkbox的选项,使用了javabean。开始进入action中,bean对象的javabean(只有checkbox,其他text、select都有)值为null,如果checkbox选择后值能正常传递到javabean中,然后再跳转回该页面。可再次不选择时,javabean中却缓存了之前的值(只有checkbox的,其他的都正常)。这个该怎么解决。 --------------------编程问答-------------------- 第一个问题应该是浏览器缓存的问题。 --------------------编程问答-------------------- LZ,既然用struts2了,查询条件,可以放入到隐仓域中hidden,定义对于的控件name的属性,生成set,get方法,就可以保留,没必要放入session中吧。

第二个没看懂什么意思,可以自己进入debug模式调试下,之后对症下药! --------------------编程问答-------------------- 第一个问题:2楼说的是啊,既然楼主用了struts2了,session完全没有必要啊。。。多麻烦。。
你说的那种情况,我估计是你没有赋给初始值为空,tomcat缓存。。个人估计。---最好不使session。

第二个问题:没太看懂说的是什么意思。 --------------------编程问答-------------------- session 被缓存了么?

第二个问题 是不是跟浏览器有关呢 --------------------编程问答-------------------- 1、你把数据放session里面肯定就会保存了,一般如果你不改系统默认session失效时间好像为30分钟,也就是说这30分钟你随便怎么关浏览器这个数据都会存在。像这种查询数据你保存在request级别就可以了,只需要存在一次

第二个我也没看懂。。。 --------------------编程问答-------------------- struts2直接使用ognl,,name属性来传值,不需要放session --------------------编程问答--------------------
	<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
页面上加上这个 --------------------编程问答-------------------- 楼主的第一个问题我也遇到了类似的,不过我是和2楼说的那种写法,查询的条件都可以放到不同的input里面,然后指定这些input的名字,在action里面根据这个名字写get、set方法,这样查询条件都可以获取到。之所以我会遇到这个问题,是因为在spring的配置文件里面没有设定bean的作用域,于是默认成了scope=“singleton”即单例模式,改成propertype作用域就可以了。

楼主的第一个问题就在于你把查询条件放到session里面,可能有浏览器缓存,还有楼主的写法完全浪费了struts2这个框架啊。。。

至于第二个问题,没怎么看懂楼主的描述。复选框的取值和input不一样,楼主是怎么取值的?还有,是不是也把值放到session里面去了?
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,