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 に答える