ユーザーが次のようなドロップダウンから値を選択できるjspページを設計しています。
Row1: 「ドロップダウン」を選択
Row2: 「ドロップダウン」を選択
Row3: 「dropdown1」「dropdown2」を選択
どこ:
ドロップダウン値は {1,2,3,4,5,6,7} です
ユーザーは上記の行から値を選択し、フォームを保存できます。次にユーザーがページを表示し、保存された値がデータベースから取得されたときに、それらをドロップダウンに表示したいと考えています。そのために、Spring MVC form:select automatic binding を使用しています
<form:select id="${id}" path="Mappings[${index}].userSetting">
<c:forEach var="item" items="${dropdownValues}">
<form:option value="${item.value}"><spring:eval expression="item" /></form:option>
</c:forEach>
</form:select>
このコードは、バインド先のドロップダウンが 1 つしかない Row1 と Row2 に対して正常に機能します。しかし、Row3 の場合、Mappings[${index}].userSetting は、"2,3" のような値 (単一の値ではなく) を返します。これは、dropdownValues リストからのものですが、コンマで区切られています。この場合、明らかな理由により、Spring MVC form:select はドロップダウンからの値の選択に失敗します。ドロップダウンのいずれにも「2,3」が見つからないためです。私がやろうとしているのは、値を分割して、「2,3」から値「2」と「3」が選択され、Row3 が次のようになるようにすることです。
変更前:「dropdown1」「dropdown2」を選択 変更後:「2」「3」を選択
これを達成する方法について誰か提案がありますか?