私の Spring Controller には、方向の配列があります。その配列を使用するか、それをリストにして、JSP ページに順序付きリストを作成したいと考えています。
たとえば、コントローラーからリスト属性を使用して、JSP ページのドロップダウンに既にデータを入力しています。
コード...
コントローラ
ResultSet result = select.executeQuery("SELECT DISTINCT make FROM data ORDER BY make");
List<LabelValueModel> dropDownItems = new ArrayList<LabelValueModel>();
while (result.next()) {
String make = result.getString(1);
LabelValueModel item = new LabelValueModel(make, make);
dropDownItems.add(item);
}
model.addAttribute("dropDownItems", dropDownItems);
JSP
<form:select path="dropDownItems" id="carMake" onchange="selectedMake(this.value)"><br />
<form:option label="Please select a make" value="" disabled="disabled" selected="selected"/>
<form:options items="${dropDownItems}" itemLabel="label" itemValue="value"/>
</form:select>
私がやりたいこと、またはそれに似たものはこれです。明らかに、このコードは正しくありません...
コントローラ(例のためだけに同じにしておきます)
ResultSet result = select.executeQuery("SELECT DISTINCT make FROM data ORDER BY make");
List<LabelValueModel> dropDownItems = new ArrayList<LabelValueModel>();
while (result.next()) {
String make = result.getString(1);
LabelValueModel item = new LabelValueModel(make, make);
dropDownItems.add(item);
}
model.addAttribute("dropDownItems", dropDownItems);
しかし、JSPの場合、私はこのようなことをしたい...
<ol>
<li items="${dropDownItems}" itemValue="value"></li>
</ol>
うまくいけば、誰かが私が何をしようとしているのかを知っていて、私を助けることができます! ありがとう!
答え...
コントローラーの状況でリストではなく配列を使用しました
コントローラ...
String[] dropDownItems = new String[3];
dropDownItems[0] = "foo1";
dropDownItems[1] = "foo2";
dropDownItems[2] = "foo3";
model.addAttribute("dropDownItems", dropDownItems);
JSP...
<c:forEach items="${dropDownItems}" var="item">
<li>${item}</li>
</c:forEach>
結果...
- foo1
- foo2
- foo3