Java Spring验证程序不支持命令类

Java Spring验证程序不支持命令类,java,spring,Java,Spring,我认为这个问题很常见,但由于某种原因,我无法解决这个问题 这就是我得到的错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reverseController' defined in ServletContext resource [/WEB-INF/app-servlet.xml]: Initialization of bean failed; nested ex

我认为这个问题很常见,但由于某种原因,我无法解决这个问题

这就是我得到的错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reverseController' defined in ServletContext resource [/WEB-INF/app-servlet.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Validator [FormValidator@6b3ded0d] does not support command class [ReverseString]
这是我的FormValidator类中的supports方法:

public boolean supports(Class clazz) {
    return ReverseController.class.isAssignableFrom(clazz);
}
这是我的app-servlet.xml上的bean定义:

<bean id="reverseController" class="ReverseController">     
   <property name="commandName"><value>reverseString</value></property>
   <property name="commandClass"><value>ReverseString</value></property>        
   <property name="formView"><value>reverse</value></property>
   <property name="successView"><value>reverseResult</value></property>
   <property name="validator"><bean class="FormValidator" /></property>

知道是什么导致了这个问题吗?

您是否也为这个
commandClass
变量添加了getter和setter
如果是这样,您可能需要从setter方法中删除
@spring.validator type=“required”

您是否也为此
commandClass
变量添加了getter和setter
如果是,您可能需要从setter方法中删除
@spring.validator type=“required”

为您的应用程序servlet.xml尝试以下代码
1.这样定义控制器。
2.然后使用reverseController调用reverseController类方法

<managed-bean>
        <managed-bean-name>reverseController</managed-bean-name>
        <managed-bean-class>com.action.ReverseController</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>

反向控制器
com.action.ReverseController
要求

为您的应用程序servlet.xml尝试此代码
1.这样定义控制器。
2.然后使用reverseController调用reverseController类方法

<managed-bean>
        <managed-bean-name>reverseController</managed-bean-name>
        <managed-bean-class>com.action.ReverseController</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>

反向控制器
com.action.ReverseController
要求

它是命令类的一个实例,在每次请求时都会得到验证,因为它会被表单数据填充。控制器本身未经验证

因此
FormValidator
中的
supports()
方法实际上应该是:

public boolean supports(Class clazz) {
    return ReverseString.class.isAssignableFrom(clazz);
}

它是命令类的一个实例,在每个请求上都会得到验证,因为它会被表单数据填充。控制器本身未经验证

因此
FormValidator
中的
supports()
方法实际上应该是:

public boolean supports(Class clazz) {
    return ReverseString.class.isAssignableFrom(clazz);
}