0

マルチボックスの値をフォームから動的に設定したいのですが。タグを使用し<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>

ご覧のとおり、columnプロパティは同じmacAddressBean値を使用し、そこにmacAddressを正常に表示しますが、マルチボックスでは、何らかの理由で値をmacAddressに設定しません。同じことがdisabled属性にも当てはまります。

何が悪いのかわからないようです。マルチボックスの動的な値を設定するにはどうすればよいdisplay:tableですか?

4

1 に答える 1

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>

rowNumstrutsで暗黙的に作成された変数であり、特定の行の行番号を取得します。行を識別するには、IDを割り当てる必要があります。display:table私が使用するIDを「デバイス」に設定することで(属性とdevice_rowNumの組み合わせから暗黙的に作成された変数)、リスト内の位置に関連付けられている行の特定の番号を取得して、必要な値を取得できるようにします。idrowNum

于 2013-03-11T12:22:31.870 に答える