0

私は次のコードを持っています:

<form:select path="roles" items="${roleList}" itemLabel="roleType" itemValue="id" />

以下のようにhtmlを生成します。

<select id="roles" name="roles" multiple="multiple">
 <option value="1">ROLE_ADMIN</option>
 <option value="2">ROLE_HQ</option>
 <option value="3">ROLE_MASTER</option>
 <option value="4">ROLE_STATE</option>
 <option value="5">ROLE_CENTRE</option>
</select>

multipleまた、オプションの属性は使用しません。生成されたHTMLになぜ含まれているのか考えてみて"multiple="multiple"ください。

4

1 に答える 1

0

推測ですが、 にマッピングしたためroles、またロールはおそらくコレクションであるため、選択ボックスを複数にすることは理にかなっています。複数でない場合は、コレクションに 1 つのアイテムしか格納できません。また、タグは選択したロールを表示できません。

編集: タグのソース コードを読んだ後、私の推測は正しかったようです。forceMultiple()の方法を参照してくださいSelectTag

于 2012-11-16T18:38:06.490 に答える