使用 Spring 的 form 标签动态绑定列表

2023-12-24

我有一个命令对象FaxForm它包含一个列表FaxStatusa 内的物体faxStatusList财产。

public class FaxForm {
  private List<FaxStatus> faxStatusList;
  public void setFaxStatusList(List<FaxStatus> faxStatusList) {
    this.faxStatusList = faxStatusList;
  }
  public List<FaxStatus> getFaxStatusList() {
    return faxStatusList;
  }
}

我最初有一个 JSP 页面,它通过执行以下操作来绑定对象:

<c:forEach items="${esaFaxForm.faxStatusList}" var="item" varStatus="loop">
  <tr class="tableAltBackground">
    <td>
      <form:checkbox path="faxStatusList[${loop.index}].selected"/>
    </td>
    <td>
      <form:select path="faxStatusList[${loop.index}].status" items="${esaFaxForm.statusOptions}" onchange="checkThisBox(this);"/>
    </td>
    <td>
      <a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.name}</a>
      <form:hidden path="faxStatusList[${loop.index}].name"/>
    </td>
    <td>
      <a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.id}</a>
      <form:hidden path="faxStatusList[${loop.index}].id"/>
    </td>
  </tr>
</c:forEach>

但是,我试图弄清楚如何在没有 forEach 循环和索引的情况下进行绑定。上的例子Spring http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html网站通过设置列表名称的路径来显示绑定。有没有办法绑定属性?我已经尝试过这个但失败了:

<form:checkbox path="faxStatusList.faxStatus.selected"/>
<form:select path="faxStatusList.faxStatus.status" items="${esaFaxForm.statusOptions}"/>

faxStatusList 有一个 getter 和 setter 方法,每个 FaxStatus 变量都有 getter/setter 属性。我收到错误“bean 类的属性‘faxStatusList.faxStatus’无效...”


Spring 表单标签有一个复选框标签。您可以按如下方式使用它来自动进行绑定:

<form:checkboxes items="${faxStatusList}" path="faxStatusList" itemLabel="name" itemValue="id" delimiter="<br/>" onclick="yourOnClickMethodIfYouNeed(this);"/>

上面的代码片段将显示用 br 标记分隔的复选框项目列表。对复选框状态所做的任何更改都将相应地反映在您的传真表单中。传真状态列表对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Spring 的 form 标签动态绑定列表 的相关文章

随机推荐