【问题标题】:How to bind multiple (the number is dynamic) fields from a jsp page to controller?如何将jsp页面中的多个(数字是动态的)字段绑定到控制器?
【发布时间】:2019-04-21 16:50:15
【问题描述】:

我将几个值从我的 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,仅适用于整个列表。如果您需要额外的数据,请随时询问!

【问题讨论】:

    标签: java spring spring-mvc jsp jstl


    【解决方案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>
    

    然后在控制器中,你可以用StringList&lt;String&gt;的数组来映射它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多