2014-11-21 29 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

相關問題