我的验证员类
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]:找不到匹配的编辑器或转换策略
这里有什么不对吗?
请帮助.....
答案 0 :(得分:1)
如果未选择任何内容,则表示您正在向控制器提交“NONE”字符串。
<form:option value="NONE" label="--- Select Category ---"/>
这就是你得到这个例外的原因