未在表单中正确填充数组值:select tag

时间:2014-10-25 10:39:13

标签: java arrays spring spring-mvc

 <c:forEach items="${bean.items}" var="element" >
    <c:set var="optionString" value="${element.optionString}"/>
    <%String s = (String)pageContext.getAttribute("optionString");%>
    <form:option  value="<%=s%>">Option Name to be displayed</form:option>
</c:forEach>

在上面的代码中,$ {bean.items}是一个字符串数组。和$ {element.optionString}给出字符串值“0000,1234,2345,3456”

我的期望是如果选择上面的值,则选择标签路径变量“selectedItems”也是一个数组,应该填充一个值“0000,1234,2345,3456”,而不是“selectedItems”具有的数组四个元素有“0000”,“1234”,“2345”,“3456”。现在数组sizre是四。

我在这里做错了什么?为什么值不会作为数组中的单个元素填充?

1 个答案:

答案 0 :(得分:0)

您面临的是Spring MVC的默认设置。这是因为在将String转换为String []时,Spring MVC使用的分隔符实际上是逗号。在此查看接受的答案,了解如何更改

How to prevent parameter binding from interpreting commas in Spring 3.0.5?