0

我想从表单中动态设置我的 multibox 的值。我正在使用<display:table />标签在表格中的表格中显示列表但是,我在表格的每一行上都有复选框,我希望根据列表中valuedisabled表格中该行对应的对象设置属性. 这就是我目前正在做的事情。

<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>

正如您所看到的,列属性使用相同的macAddressbean 值并且它在那里成功显示了 macAddress,但是在 multibox 中由于某种原因它没有将值设置为 macAddress。disabled属性也是如此。

我似乎无法确定出了什么问题。如何为 a 中的多框设置动态值display:table

4

1 回答 1

0

我想出了一个办法。我将上面的 multibox 标签替换为

 <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的组合中隐式创建的变量)获取与其在列表中的位置相关联的行的特定数字,以便能够检索我想要的值.idrowNum

于 2013-03-11T12:22:31.870 回答