我有以下查询参数:
http://localhost:8085/myPage?selectListId=2
我从我的GET方法中的查询字符串中剥离了“selectListId”参数,我想将下拉列表中的选定项设置为该索引值。
我正在使用bootstrap,所以不确定这是否重要。该列表是从我从spring mvc3控制器传入的viewModel填充的。
<form class="form-horizontal" action="myController/indexSubmit" method="post">
<select name="selectList" class="form-control" placeholder=".input-medium" height>
<c:forEach items="${viewModel.getlistitems()}" var="item" varStatus="count">
<option value="${count.index}">${item }</option>
</c:forEach>
</select>
<button type="submit" class="btn btn-primary btn-medium">Submit</button>
</form>
如何设置此值(最好不使用javascript)?谢谢!
答案 0 :(得分:2)
使用id
就好了,因为它不是真正的标识符,它只是当前的索引。为了答案,给定一个处理表单提交的控制器方法
@RequestMapping(/* some mapping */
public String saveSelection(@RequestParam("selectList") String selectListId, Model model) {
model.addAttribute("selectListId", selectList);
return "form"; // whatever it is
}
将当前索引与请求属性中的索引进行比较,如果匹配则将其设置为selected
<form class="form-horizontal" action="myController/indexSubmit" method="post">
<select name="selectList" class="form-control" placeholder=".input-medium" height>
<c:forEach items="${viewModel.getlistitems()}" var="item" varStatus="count">
<option value="${count.index}" ${not empty selectListId && selectListId == count.index ? 'selected' : ''} >${item }</option>
</c:forEach>
</select>
<button type="submit" class="btn btn-primary btn-medium">Submit</button>
</form>