【问题标题】:Spring 3 validation throws java.lang.IllegalStateExceptionSpring 3 验证抛出 java.lang.IllegalStateException
【发布时间】:2012-05-01 05:44:25
【问题描述】:

我的验证器类

 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]:找不到匹配的编辑器或转换策略

这里有什么问题吗?

请帮忙.....

【问题讨论】:

    标签: spring


    【解决方案1】:

    如果没有选择任何内容,您将向控制器提交“NONE”字符串。

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

    这就是你得到这个异常的原因

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 2017-03-20
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多