我的jsp中有2个选择标签:
第一个:
<select name="performers">
<option value="all" label="All performers">All performers</option>
<c:forEach var="list" items="${list}">
<option value="${list}">${list}</option>
</c:forEach>
</select>
第二个:
<select name="period">
<option value="0"> </option>
<option value="1">Last Qtr</option>
<option value="2">Last Month</option>
<option value="3">Last Calendar Year</option>
<option value="4">Current Year to Date</option>
<option value="5">Current Qtr to Date</option>
<option value="6">Current Month do Date</option>
</select>
如何在页面重新加载(post方法)后从控制器保留此组合框的选定值?
答案 0 :(得分:3)
微米。 Deinum指出正确。使用表单模型和弹簧形式标签。 假设您的表单包含以下字段:
public class YourForm{
//Assuming thedatatype of performersList as String
List<String> performersList;
String performers;
...
//setters and getters
}
在委托给jsp的控制器方法中:
...
YourForm form = new YourForm();
//set your performersList in form
//set performers in form - the selected value to be displayed in view
model.addAttribute("yourForm", form):
...
现在在jsp中访问它:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<body>
<form:form id="yourForm" modelAttribute="yourForm" method="post">
<tr>
<td >
<form:select id="performers" path="performers" title='Select Performers'>
<option value="">All performers</option>
<form:options items="${performersList}"/>
</form:select>
</td>
</tr>
</body>
由于表演者已经设置在控制器中,你会看到在jsp中自动选择表演者。 同样,您可以为其他下拉选项执行此操作。
希望这有帮助。