struts+spring错误解决

 

Cannot convert value of type [com.wwl.ssh.action.UserAction] to required type [com.wwl.ssh.model.User] for property 'user': no matching editors or conversion strategy found

 

背景:UserAction交给spring管理,@component("user").UserAction中有一个属性User user.

 

查看在struts的spring plugin有

Setting                                Description        Default   Possible Values

struts.objectFactory.spring.autoWire The autowire strategy name name,type,auto, or constructor

 

 

我们都知道struts+spring之后action都是由struts-spring-plugin来管理的,不同于其他spring管理的容器,在action中所有的注入都不需要在set***方法上写"@resource"(写了也不起作用,但在相应属性上写能器作用),默认在action中的所有set*()方法都会用来注入相关属性(默认是按名字)。比如serUser()就会找spring的bean中有没有一个叫user的bean.很不幸我们的UserAction就是一个叫user的bean。把UserAction注入给User当然会注入失败。

解决方法是将UserAction的bean该个名字,如@component("u"),或者不写

 

你可能感兴趣的:(spring,bean,struts,user,action,Constructor)