我正在使用Spring MVC表单选择框绑定一个列表,如下所示
<c:forEach var="item" items="${instance.parameters}" varStatus="itemsRow">
<form:select size="6" path="parameters[${itemsRow.index}].parmvalues" multiple="true">
<form:options items="${item.pluginParmvalues}" itemValue="id" itemLabel="parmValue" />
</form:select>
</c:forEach>
绑定后,<form:select
正确显示值。但是当我尝试保存它时会抛出异常。我是否还应将<form:options
值绑定到类似
<form:options path="parameters[${itemsRow.index}].parmvalues[0].parmValue"
而不是items="${item.pluginParmvalues}"
来获取/保存控制器中的值?
无法将[java.lang.String]类型的值转换为属性'parmvalues [0]'所需的类型[com.domain.Parmvalue]:找不到匹配的编辑器或转换策略]
答案 0 :(得分:0)
这种方式选择框没有限制。您必须使用隐藏字段并将该隐藏字段与path="parameters[${itemsRow.index}].parmvalues"
绑定。每次更改选择框值。通过javascript / jquery更改该隐藏字段的值。