我正在将几个值从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方法,仅针对整个列表。如果您需要其他数据,请随时询问!
最佳答案
您可以尝试:${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>
数组将其映射