1

私はSpringタグにあまり詳しくなく、今のところ理解できない問題に直面しているようです。

JSP に 2 つの選択タグを表示しています。それらは Arraylist によってサポートされており、ここにマップされているのはそれらのコードです。

<form:select path="prsBTOData[${status.index}].colors" items="${prsBTOData.colors}" 
cssClass="productDetailsSelect"/>

<form:select path="prsBTOData[${status.index}].fonts" items="${prsBTOData.fonts}" 
cssClass="productDetailsSelect" >

フォントがマップによって支えられている間、色は配列リストによって支えられています.belowは生成されたHTMLです

<select multiple="multiple" class="productDetailsSelect" name="prsBTOData[0].colors" 
    id="prsBTOData0.colors">
     <option selected="selected" value="Red">Red</option>
     <option selected="selected" value="Green">Green</option>
     <option selected="selected" value="Black">Black</option>
</select>
<input type="hidden" value="1" name="_prsBTOData[0].colors">

ドロップダウンオプションのあるリストを期待していたmultiple="multiple"のに、ドロップダウンを表示せずに選択した値のみを表示する理由がわかりません。REDなぜこの隠しフィールドが生成されるのか、その目的は何なのかわからない?

4

1 に答える 1

0

属性にはform:selectitems選択ボックスに表示する必要がある項目のリストがあります。path属性は、選択した値にバインドされるプロパティです。

パスとして arraylist (複数の値を持つ) を指定したため、Spring は、複数の値を選択したドロップダウンが必要であると想定しました。

あなたはこのように与えたいかもしれません(あなたがcolorのプロパティを持っていると仮定してprsBTOData

<form:select path="prsBTOData.color" items="${prsBTOData.colors}"/>

以下のように、静的/参照データ (色、フォント) を維持するために別のモデル オブジェクトを使用することを検討してください。

<form:select path="prsBTOData.color" items="${referenceData.colors}"/>
于 2012-09-19T05:56:38.743 に答える