在使用JSP的Spring应用程序中,我有一个通过JSTL循环生成的动态表单,它通过每次迭代向表单添加一个多个select字段:
在我的JSP文件中。
<c:forEach items="${myInputList}" var="myInput" varStatus="varstatus">
...
<select multiple="multiple" name="myInputList[${varstatus.index}].optionList">
<option value="First">First</option>
<option value="Second">Second</option>
<option value="Third">Third</option>n
</select>
...
</c:forEach>
在DTO..。
private String[] optionList;
当我选择“第二”和“第三”并提交表单时,该帖子只包含.
myInputList[(index value)].optionList=Second
将[]
固定到select名称( posted )的标准建议在击中试图填充DTO的控制器时失败;名称中的[]
不会在没有问题的情况下击中控制器,但是optionList数组中的唯一项是发布的第一个值。
此外,最初作为一个映射到基本的非数组字符串的非多个select输入,该控件运行良好。我只是尝试将单个选择更新为多个选择。
如有任何建议,将不胜感激。谢谢。
发布于 2015-02-27 12:20:55
万一这能帮到路上的人..。
我遇到的问题来自从父小部件继承了一个保存方法,该方法只是从表单输入的value
属性中张贴表单值。在多选择框的情况下,只选择value
属性中的第一个选项,而所有选择的选项都位于selectedOptions
属性中。我重新设计了保存逻辑,首先检查selectedOptions
,否则使用value
。
https://stackoverflow.com/questions/25923540
复制