rav*_*vun 10 java spring dynamic-binding
我有一个命令对象FaxForm
,它包含FaxStatus
一个faxStatusList
属性内的对象列表.
public class FaxForm {
private List<FaxStatus> faxStatusList;
public void setFaxStatusList(List<FaxStatus> faxStatusList) {
this.faxStatusList = faxStatusList;
}
public List<FaxStatus> getFaxStatusList() {
return faxStatusList;
}
}
Run Code Online (Sandbox Code Playgroud)
我最初有一个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>
Run Code Online (Sandbox Code Playgroud)
但是,我试图弄清楚如何在没有forEach循环和索引的情况下进行绑定.Spring网站上的示例通过设置列表名称的路径来显示绑定.有没有办法绑定属性?我试过这个,但它失败了:
<form:checkbox path="faxStatusList.faxStatus.selected"/>
<form:select path="faxStatusList.faxStatus.status" items="${esaFaxForm.statusOptions}"/>
Run Code Online (Sandbox Code Playgroud)
faxStatusList有一个getter和setter方法,而FaxStatus变量每个都有getter/setter属性.我收到错误"bean类的无效属性'faxStatusList.faxStatus'......"
Spring form标签有一个checkboxes标签.您可以按如下方式使用它来自动执行绑定:
<form:checkboxes items="${faxStatusList}" path="faxStatusList" itemLabel="name" itemValue="id" delimiter="<br/>" onclick="yourOnClickMethodIfYouNeed(this);"/>
Run Code Online (Sandbox Code Playgroud)
上面的代码段将显示使用br标记分隔的复选框项目列表.对复选框状态所做的任何更改都将在您的FaxForm中正确反映.faxStatusList对象.
归档时间: |
|
查看次数: |
12103 次 |
最近记录: |