1

我的验证器类

 public class ProductValidator implements Validator {
    public void validate(Object obj, Errors errors) throws ValidatorException {
        Product product =(Product)obj;
        if("NONE".equals(product.getCategory())){
            errors.rejectValue("category","Category Required");
        }
    }

我的jsp

 <form:select path="category" cssClass="add">
        <form:option value="NONE" label="--- Select Category ---"/>
    <form:options items="${categoryList}" itemValue="categoryId" itemLabel="categoryName"/>             
</form:select>       
<form:errors path="category" cssClass="error"> </form:errors>

当我在不选择任何选项的情况下提交表单时,它会给出错误,

无法将 java.lang.String 类型的属性值转换为属性类别所需的 com.main.java.Category 类型;嵌套异常是 java.lang.IllegalStateException:无法将类型 [java.lang.String] 的值转换为属性类别所需的类型 [com.main.java.Category]:找不到匹配的编辑器或转换策略

这里有什么问题吗?

请帮忙.....

4

1 回答 1

1

如果未选择任何内容,则您将“NONE”字符串提交给您的控制器。

    <form:option value="NONE" label="--- Select Category ---"/>

这就是您收到此异常的原因

于 2012-05-01T05:48:36.427 回答