当前位置: 代码迷 >> Java Web开发 >> Action中的实体类用Spring注入的有关问题
  详细解决方案

Action中的实体类用Spring注入的有关问题

热度:99   发布时间:2016-04-16 22:03:09.0
Action中的实体类用Spring注入的问题
action中定义了一个User user,里面有id,name,password和memo四个属性,action中有user的setter和getter,前端三个控件id为user.id,user.name,user.password,提交后调用action中的insertUser方法插入一条记录(此时memo字段为空!)。接下来我有一个按钮,点击触发ajax请求,参数为user.id和memo,调试时候发现之前的name和password也存在,这是怎么引起的?spring不重新给我new一个user对象吗?
------解决方案--------------------
是使用struts2吗?如果是的话,user对象应该不是Spring管理的,返回之前的数据那应该是ajax缓存问题了,可以设置ajax不支持缓存试试。最好贴出关键代码,不然谁知道你这个问题出现在哪里了

------解决方案--------------------
和spring没关系,struts本身针对每次请求都会new一个新action实例的。
应该是user的值存在了struts的对象栈中,你在Action中定义的全局User变量,定义成这样试试:
public User user=new User();

还有ajax的参数的参数名尽量定义成字符串,不然容易造成混淆。
------解决方案--------------------
bean的生命周期scope有没有设置成prototype
  相关解决方案