gpt4 book ai didi

java - Spring Validator 不支持命令类

转载 作者:行者123 更新时间:2023-12-01 23:48:18 25 4
gpt4 key购买 nike

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

这是我收到的错误:

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 类中的支持方法:

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>

最后,这是我的 ReverseController 的主要部分:

 @Service
public class ReverseController extends SimpleFormController {

public ReverseController() {
//setCommandClass(ReverseString.class);
//setCommandName("reverseString");
}

private ReverseString reverseStringMaster;

@Autowired
public void setWriter(ReverseString reverseStringMaster) {
this.reverseStringMaster = reverseStringMaster;
}

protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors) {

ReverseString revString = (ReverseString) command;

return new ModelAndView(getSuccessView(),"reversedString", revString);
}

public void init() {
System.out.println("Done");
}


}

知道什么可能导致该问题吗?

最佳答案

它是命令类的一个实例,在每个请求上都会进行验证 - 因为它会填充表单数据。 Controller 本身未经验证。

因此,FormValidator 中的 supports() 方法实际上应为:

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

关于java - Spring Validator 不支持命令类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com