【发布时间】:2011-10-23 08:14:36
【问题描述】:
当我尝试在控制器方法中检索表单结果时出现以下错误:
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 个错误 字段“客户”上的对象“搜索”中的字段错误:拒绝值 [14];代码 [typeMismatch.search.clients,typeMismatch.clients,typeMismatch.java.util.List,typeMismatch];参数 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [search.clients,clients];论据 [];默认消息 [clients]];默认消息 [无法将类型“java.lang.String”的属性值转换为属性“clients”所需的类型“java.util.List”;嵌套异常是 java.lang.IllegalStateException:无法将类型 [java.lang.String] 的值转换为属性“clients[0]”所需的类型 [com.Client]:找不到匹配的编辑器或转换策略]
模型对象如下所示:
public class SearchForm {
private String name;
private List<Client> clients;
//getters and setters
}
public class Client {
private String name;
private Int id;
}
表格:
<form:form method="POST", name="searchresults.html" modelattibute="search">
<form:input path="name"/>
<form:checkboxes path="clients" items="{clientsList}" itemsValue="id" itemsLabel="name"/>
</form:form>
此表单在 html 页面上正确显示值,但是当我单击提交按钮时出现上述错误
【问题讨论】:
-
这里是
<form:form method="POST", name="searchresults.html" modelattibute="search"> <form:input path="name"/> <form:checkboxes path="clients" items="{clientsList}" itemsValue="id" itemsLabel="name"/> </form:form>表单,此表单在 html 页面上正确显示值,但是当我单击提交按钮时,出现上述错误 -
您是否为您的班级客户创建了属性编辑器或转换策略?
标签: spring data-binding spring-mvc