0

サイトhttp://static.springsource.org/spring/docs/2.0.x/reference/mvc.htmlから、

SpringMVCでのオプションタグの実装は次のようになります。

<tr>
    <td>Country:</td>
    <td>
        <form:select path="country">
            <form:option value="-" label="--Please Select"/>
            <form:options items="${countryList}" itemValue="code" itemLabel="name"/>
        </form:select>
    </td>
    <td></td>
</tr>

私は次のように私の必要に応じてこのコードを実装しました

<tr>
        <td>Country:</td>
        <td>
            <form:select path="minerals">
                <form:option value="-" label="--Please Select"/>
                <form:options items="${mineralList}" itemValue="code" itemLabel="name"/>
            </form:select>
        </td>
        <td></td>
    </tr>

ここで、mineralListは鉱物の名前を含むリストであり、ControllerクラスのrefereceData()メソッドによって返されます。

私のモデルクラスは次のようになります

class Stones{
String minerals;

public String getMinerals() {
    return minerals;
}
public void setMinerals(String minerals) {
    this.minerals = minerals;
}
}

アプリケーションを実行すると、次のように例外が発生します

Beanクラス[java.lang.String]の無効なプロパティ'code':Beanプロパティ'code'が読み取れないか、無効なgetterメソッドがあります:getterの戻り型がsetterのパラメータ型と一致していますか?

解決策は何ですか私にアドバイスしてください

4

1 に答える 1

0

これは、ラベルnameを生成するときにリスト内の各アイテムのプロパティを使用するようにタグに指示したためです。<option>ただし、リストは文字列で構成されており、名前プロパティはありません。

タグからそれを削除するだけで、大丈夫です。

<form:select path="minerals" items="${mineralList}" />
于 2013-03-16T06:23:00.903 に答える