2014-11-21 82 views
0

我在jsp中有一个多选列表框,并且该值不能返回给控制器。但其他领域工作正常。Spring MVC多选列表框值的值不能返回到控制器

我已经尝试过从List或String []中搜索Form类的选项类型,但仍然没有数据返回。

下面是代码: 控制器:

@RequestMapping(value ="/test", method = RequestMethod.POST) 
    public void test(@ModelAttribute("searchForm") Search searchForm, HttpServletRequest request, HttpServletResponse response){ 
    List<String> options = (List)searchForm.getOptions(); 
} 

形式:

Public class Search{ 
    private List<String> options; 

} 

JSP:

<select id="options" name="options" multiple="multiple"> 
    <option value="1">option1</option> 
    <option value="2">option2</option> 
    <option value="3">option3</option> 
</select> 

什么建议吗?

回答

1

在您的JSP中,使用弹簧窗体标签进行一些修改。

<form:form method="post" action="test" modelAttribute="search"> 
    <form:select multiple="true" path="options"> 
     <form:options items="${options}" /> 
    </form:select> 

    <input type="submit" name="addOptions" value="Add Options"> 
</form:form> 

我在github上添加了示例selectbox项目,我也添加了多项选择选项。如果你看看,你可以自己找出:https://github.com/jama707/SpringSelectBoxSample

+0

感谢您的建议,但我不能改变使用弹簧窗体标签,因为我的jsp实际上非常复杂。然而,我的问题得到解决,通过使用jquery在提交过程中将所选选项更改为selected =“selected”,然后可以传递该值。 – user0527 2014-11-21 05:59:40

相关问题