0

我有以下查询参数:

http://localhost:8085/myPage?selectListId=2

我已经从我的 GET 方法中的查询字符串中剥离了“selectListId”参数,我想将下拉列表中的选定项目设置为该索引值。

我正在使用引导程序,所以不确定这是否重要。该列表由我从 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)?谢谢!

4

1 回答 1

2

使用idlike 是个坏主意,因为它不是真正的标识符,它只是当前索引。为了回答,给定一个处理表单提交的控制器方法

@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> 
于 2013-08-28T18:41:15.503 回答