恩……初用spring。不是很理解。
直接上代码
以下内容是struts.xml里面的:
<action name="GetAuthCodeAction" class="getAuthCodeAction" method="AuthCode">
<result type="stream" name="succeed">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action><action name="LogonAction" class="logonAction" method="logon">
<result name="succeed">/</result>
<result name="fail">/jsp/logon.jsp</result>
</action>
而以下内容是applicationContext.xml里面的:
<bean id="getAuthCodeAction" class="com.bm.action.PageAction" scope="prototype">
<property name="pageService">
<ref bean="pageService" />
</property>
</bean>
<bean id="logonAction" class="com.bm.action.UserAction" scope="prototype">
<property name="userService">
<ref bean="userService" />
</property>
</bean>
<bean id="pageService" class="com.bm.service.mysql.PageService" />
<bean id="userService" class="com.bm.service.mysql.UserService" />
其中前者GetAuthCode是一个获取验证码之类的action,使用时一切正常,
而后者是一个登陆用的action,每次使用都会报错说
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [logonAction]
。请问这是什么缘故。
直接上代码
以下内容是struts.xml里面的:
<action name="GetAuthCodeAction" class="getAuthCodeAction" method="AuthCode">
<result type="stream" name="succeed">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action><action name="LogonAction" class="logonAction" method="logon">
<result name="succeed">/</result>
<result name="fail">/jsp/logon.jsp</result>
</action>
而以下内容是applicationContext.xml里面的:
<bean id="getAuthCodeAction" class="com.bm.action.PageAction" scope="prototype">
<property name="pageService">
<ref bean="pageService" />
</property>
</bean>
<bean id="logonAction" class="com.bm.action.UserAction" scope="prototype">
<property name="userService">
<ref bean="userService" />
</property>
</bean>
<bean id="pageService" class="com.bm.service.mysql.PageService" />
<bean id="userService" class="com.bm.service.mysql.UserService" />
其中前者GetAuthCode是一个获取验证码之类的action,使用时一切正常,
而后者是一个登陆用的action,每次使用都会报错说
java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [logonAction]
。请问这是什么缘故。
貌似是说你logonAction这个action指向了一个未知的类,估计是你class路径错了或者是不是logonAction写错了..
检查下看看<bean id="logonAction" class="com.bm.action.UserAction" >我也新手,个人看法。。
你最好把出错信息贴出来
class="xxx.xxx.xxx.LoginAction"
如果我是使用
struts.xml:
<action name="Action" class="action"></action>
applicationContext.xml:
<bean id="action" class="com.xx.action.Action" scope="prototype"></bean>
就会出错。
而如果
struts.xml:
<action name="Action" class="com.xx.action.Action"></action>
applicationContext.xml:
<bean class="com.xx.action.Action" scope="prototype"></bean>
这样就不会出错了。
虽然前者,有时可行,但是貌似后者更加稳定。原因不是很清楚,不过既然后者可以使用,就这么用吧~~~
楼主确定 你这样bean对象会被Spring管理?
通过这三种方式的排查,本人已顺利解决该类问题。希望对你有所帮助。