我正在将几个值从jsp传递给控制器。
<form method="POST" action="${url_save}" modelAttribute="sprav">
<tr>
<c:forEach var="columnName" items="${sprav.columnName}">
<td><input name="${columnName}"></input></td>
</c:forEach>
</tr>
<tr>
<td><input type="submit" value="submit"></input></td>
</tr>
</form>
如您所见,数字可能有所不同。我想使用columnNames作为我数据库中列的名称(它们匹配),然后将这些插入的值稍后插入数据库中的相应列中。但是,如果columnNames的列表是动态的,我如何在控制器?通过jstl form:form绑定它们无效,因为我不知道动态地选择哪个表(以及将选择columnNames的列表),而且我没有用于列本身的getter / setter方法,仅用于整个列表。如果您需要其他数据,请随时询问!
答案 0 :(得分:1)
您可以尝试:${columnName}[]
<form method="POST" action="${url_save}" modelAttribute="sprav">
<tr>
<c:forEach var="columnName" items="${sprav.columnName}">
<td><input name="column[]"></input></td>
</c:forEach>
</tr>
<tr>
<td><input type="submit" value="submit"></input></td>
</tr>
</form>
然后在控制器中,可以将其与String
或List<String>
的数组进行映射