调试了这么久,总算解决了这个问题,一定得总结一下
问题描述: 在页面上做了一个异步分页, 第一次访问可以获取到所有员工分页列表,当进行部门分页时,获取到的是部门的所有员工,可是当再次去获取所有员工分页时, 返回的是上次获取部门后的所有员工.?
解决过程:一直以为是前台js问题,debug调试发现,第3次再次访问action时,进来的参数仍然是上次(按部门分页时的参数),终于找到原因了,如何解决呢?经过baidu,发现了下面的回答,
刚好,我的项目就是ssh整合开发, 是不是这个原因呢? 我的action创建是交给spring管理的,于是更改spring配置文件
<!-- 用户Action -->
<bean id="userAction" class="com.xxx.action.UserAction" scope="prototype">
<property name="iuserService" ref="sysUserServiceImpl"/>
<property name="sysUser" ref="sysUser"/>
</bean>
添加scope属性为 prototype,重启发现问题已经解决了. 对scope不太了解,于是baidu了一下.
scope:有多个作用域分别是prototype、request、session、global session
默认作用域: 即scope="singleton“ 单例模式
<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/> 这里的 scope 就是用来配置 spring bean 的作用域,它标识 bean 的作用域。 在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称 prototype), Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean
参看博客:http://www.juziku.com/zhouchao/wiki/4036.htm