【发布时间】:2018-03-19 14:58:03
【问题描述】:
我正在开发旧版应用程序。它有一个主控制器 JobController,它是从 org.springframework.web.servlet.mvc.multiaction.MultiActionController 扩展而来的。此应用程序以前运行过(我不知道如何运行),但目前在启动期间出现与 methodNameResolver 相关的错误。
错误提示“bean类[packageName.JobController]的无效属性'methodNameResolver':Bean属性'methodNameResolver'不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?”
我的 dispatcher.xml 如下所示
<bean class="packageName.JobController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/login.htm">hndLoginHTM</prop>
<prop key="/login.ajax">hndLoginAJAX</prop>
<prop key="/logout.ajax">hndLogoutAJAX</prop>
<prop key="/submit.data">hndSubmitData</prop>
<prop key="/get.log">hndGetLog</prop>
<prop key="/getJdbc.log">hndGetJdbcLog</prop>
<prop key="/vtInsert.deneme">vtInsertTest</prop>
</props>
</property>
</bean>
</property>
</bean>
当我将“packageName.JobController”替换为“MultiActionController”时,我没有收到此错误,但是由于 MultiActionController 是一个 spring 类,它不包括我的方法(hndLoginHTM、hndLoginAJAX),所以这通常会导致一个新错误。
总而言之,我认为 Spring 不理解我的控制器是 MultiActionController 的一个实例,因此它会给属性带来错误。
我已经尝试以各种方式编写 bean 定义,但没有任何效果。任何帮助将不胜感激。
您可以提议升级 Spring 版本并使用注解。这是我们的计划,但在此之前,我们需要使此版本正常工作并进行一些测试。
问候, 费达
【问题讨论】:
-
你能显示 JobController 的类定义吗?
-
你能粘贴异常堆栈跟踪吗?
-
抱歉这个问题后我对配置做了一些更改。后来,在您的 cmets 之后,我尝试将 conf 转换为原始状态,但我无法重新创建错误:( 目前我收到一个可能也相关的新错误。
-
我现在得到了这两个例外。我为这些错误提出了新问题。 stackoverflow.com/questions/49189907/…
标签: java spring spring-mvc