我想从表单中动态设置我的multibox的值。我正在使用<display:table />
标记在表格中显示表单中的列表但是,我在表格的每一行都有checbox,我希望设置value
和disabled
属性取决于列表中与表中该行对应的对象。这就是我目前正在做的事情。
<display:table name="sessionScope.SearchForm.companyDevices" requestURI="my/action.jspa">
<display:column>
<html:multibox property="selectedDevices"
value="${macAddress}" <!-- HERE -->
disabled="${isAssigned}"/> <!-- AND HERE -->
</display:column>
<display:column property="macAddress" title="Mac Address" />
<display:column property="vendor" title="Vendor"/>
<display:column property="model" title="Model"/>
<display:column property="deviceStatus" title="Device Status" />
</display:table>
正如您所看到的,column属性使用相同的macAddress
bean值,并且它成功地显示了macAddress,但是在multibox中,由于某种原因,它没有将值设置为macAddress。 disabled
属性也是如此。
我似乎无法确定哪里出了问题。如何在display:table
?
答案 0 :(得分:0)
<display:table name="sessionScope.SearchForm.companyDevices" requestURI="my/action.jspa" id="device"> <!-- ID ATTRIBUTE ADDED -->
<html:multibox property="selectedDevices"><bean:write name="searchForm" property="companyDevices[${row_rowNum - 1}].macAddress" /></html:multibox>
rowNum
是struts中隐式创建的变量,用于检索特定行的行号。要标识行,需要分配Id。通过在display:table
中将ID设置为“设备”,我使用device_rowNum
(我id
属性和rowNum
的组合中隐式创建的变量)获取行的特定内容与其在列表中的位置相关联的数字,以便能够检索我想要的值。