java - 如何将jsp页面中的多个(数量是动态的)字段绑定(bind)到 Controller ?

标签 java spring spring-mvc jsp jstl

我正在将几个值从 jsp 传递到 Controller 。

<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列表是动态的,我如何在 Controller ?通过 jSTL form:form 绑定(bind)它们不起作用,因为我不知道动态地知道哪个表(以及将选择的列名称列表),并且我没有列本身的 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>

然后在 Controller 中,可以将其映射为String的数组或List<String>

关于java - 如何将jsp页面中的多个(数量是动态的)字段绑定(bind)到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55784739/

相关文章:

java - 如何创建包含模块文件子集的 Maven Artifact ?

java - gwt - gwt 中的继承如何工作?

spring - 如何在 thymeleaf 中将一个 html 页面包含到另一页面?

ajax - 第二次在ajax响应中获取不同的数据

java - 无法在静态上下文中引用返回的类实例

模式中对 "(?<name>pattern)"的 Java 支持

java - PreAuthenticatedProcessingFilter 位置的编程配置

使用数据库的 Java Spring 身份验证,如何删除角色模型?

java - 如何在组件初始化之前在Spring Boot测试中加载h2数据

java - 是否可以利用 ArrayList 作为 session 范围组件 - ModelAttribute - 而不是创建 pojo?