如何将 jsp 页面中的多个(数字是动态的)字段绑定到控制器?

How to bind multiple (the number is dynamic) fields from a jsp page to controller?

我正在将几个值从 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 绑定它们不起作用,因为我不知道哪个 table (以及将选择的 columnNames 列表)是动态的,而且我没有用于列本身的 getters/setters ,仅适用于整个列表。如果您需要额外的数据,请随时询问!

你可以试试:${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>

然后在controller里面,可以用String或者List<String>

的数组来映射