从Spring MVC列表属性填充一个HTML有序列表

Populate a HTML ordered list from a Spring MVC List Attribute

本文关键字:列表 一个 HTML MVC Spring 属性 填充      更新时间:2023-09-26

在我的Spring控制器中,我有一个方向数组。我想使用这个数组,或者把它做成一个列表,然后在JSP页面上填充一个有序列表。

例如,我已经用来自控制器的list属性填充了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

没有内置的Spring JSTL标记来使用单个标记创建有序或无序的项目列表,至少据我所知没有。你需要使用一个循环,像这样:

<c:forEach items="${dropDownItems}" var="item">
   <li>${item.value}</li>
</c:forEach>
相关文章: