gpt4 book ai didi

java - 使用 Spring 的表单标签动态绑定(bind)列表

转载 作者:IT老高 更新时间:2023-10-28 13:50:10 24 4
gpt4 key购买 nike

我有一个命令对象 FaxForm,它在 faxStatusList 属性中保存了一个 FaxStatus 对象列表。

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

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

<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 循环和索引的情况下进行绑定(bind)。 Spring 上的示例网站通过将路径设置为列表名称来显示绑定(bind)。有没有办法绑定(bind)属性?我试过了,但失败了:

<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 表单标签有一个 checkboxes 标签。您可以按如下方式使用它来自动进行绑定(bind):

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

上面的代码片段将显示以 br 标记分隔的复选框项目列表。对复选框状态所做的任何更改都将适本地反射(reflect)在您的 FaxForm 中。传真状态列表对象。

关于java - 使用 Spring 的表单标签动态绑定(bind)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com