如何使用bootstrap select在每个弹簧mvc 3的选择列表中设置所选项目?

时间:2013-08-28 16:53:18

标签: java html jsp twitter-bootstrap spring-mvc

我有以下查询参数:

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)?谢谢!

1 个答案:

答案 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>