在我的 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