论坛首页 入门技术论坛

最近在看夏昕的《Spring 开发指南》,在spring配置config.xml里设置commandClass参数的问题

浏览 8492 次
该帖已经被评为新手帖
作者 正文
   发表时间:2006-11-20  

好久没来了。这些天一直在看夏昕的《Spring 开发指南》,遇到了一个问题没解决呢。

在Config.xml里有一段代码如下:
<bean id="LoginAction" class="net.xiaxin.action.LoginAction">
 <property name="commandClass">
   <value>net.xiaxin.action.LoginInfo</value>
  </property>
  <property name="fail_view">
   <value>loginfail</value>
  </property>
  <property name="success_view">
   <value>main</value>
  </property>
 </bean> 

在net.xiaxin.action.LoginAction里设置了两个private String属性:fail_view和success_view,并且都提供了相应的setter方法。

运行时报错如下:

DispatcherServlet - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LoginAction' defined in ServletContext resource [/WEB-INF/Config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'commandClass' of bean class [net.xiaxin.action.LoginAction]: Bean property 'commandClass' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

org.springframework.beans.NotWritablePropertyException: Invalid property 'commandClass' of bean class [net.xiaxin.action.LoginAction]: Bean property 'commandClass' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

oh, my god.
Context initialization failed,
NotWritablePropertyException,
Invalid property 'commandClass' of bean class 
Who can help me? SOS!
 

   发表时间:2006-11-20  
<bean id="LoginAction" class="net.xiaxin.action.LoginAction">
<property name="sessionForm"><value>true</value></property>
<property name="commandName"><value>LoginInfo</value></property>
<property name="commandClass">
   <value>net.xiaxin.action.LoginInfo</value>
  </property>
  <property name="fail_view">
   <value>loginfail</value>
  </property>
  <property name="success_view">
   <value>main</value>
  </property>
</bean>
0 请登录后投票
   发表时间:2006-11-20  
谢谢lemmonLi朋友的回复.速度还真是快。
加了sessionForm和commandName的定义还是会报错。
错误如下:
[Dispatcher] - Allocate exception for servlet Dispatcher
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LoginAction' defined in ServletContext resource [/WEB-INF/Config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionForm' of bean class [net.xiaxin.action.LoginAction]: Bean property 'sessionForm' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?
org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionForm' of bean class [net.xiaxin.action.LoginAction]: Bean property 'sessionForm' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?
0 请登录后投票
   发表时间:2006-11-20  
像这里面说的,似乎是要给sessionForm,commandName,commandClass都要设置setter方法.不应该是这样吧.
0 请登录后投票
   发表时间:2006-11-20  
请问你LoginAction 继承的是哪个controller?
0 请登录后投票
   发表时间:2006-11-20  
net.xiaxin.action.LoginAction   你需要在这个类里面把你在xml文件中定义的property  实现set方法,实现注入!

最好是把net.xiaxin.action.LoginAction类继承spring中某个控制类  如AbstractController
0 请登录后投票
   发表时间:2006-11-20  
检查一下类名,包名是否正确..
0 请登录后投票
   发表时间:2006-11-21  
谢谢朋友们的回复,经过各位朋友的提醒,又经过GOOGLE,又再仔细翻了下教程,发现原来LoginAction类未继承控制类。问题终于解决。 
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics