问题描述
今天实验了下spring整合struts2,发现个奇怪的问题:实体类有Vet,Owner,Visits...在action中,是这样写的:privateVetvet;privateOwnerowner;当用struts2自己管理action时,没有任何问题当把action交给spring管理时,action中的实体vet对象始终为null,不管是哪个action,只要用到了实体vet,都是null,而其他的实体对象,如owner却啥问题没有。后来把privateVetVet;改成privateVetvet=newVet();后,问题解决Vet实体类和别的实体类又没啥区别,不就换了个类名和几个属性吗但其他的实体对象却不用自己new网上查了半天,还是没找到答案
解决方案
解决方案二:
该回复于2010-05-18 16:20:37被版主删除
解决方案三:
这个与new没有关系,你把new去掉仔细看看两个地方(首先确保有set方法):1、看spring中ioc中是否注入了此对象。2、如果你是在页面提交到此action,并在表单中封装了vet.**这些属性,那么此对象也会自动被创建,还有记得看好你的大小写。
解决方案四:
可以按2楼说的试试,检查一下。看set方法有没有写错,看配置文件spring有没有给这个Vet,Owner,Visits注入
解决方案五:
SET方法必须要写,不然SPRING怎么给你的VO/DO/BEAN/DTO注入?
时间: 2025-01-20 11:46:54