复选框没有更新struts上的属性

时间:2014-12-04 09:40:30

标签: jsp checkbox struts struts-1

我有样本列表,其中包含测试列表。我正在设置添加到html:复选框的属性。选中该复选框后,添加变量的值不会更改。

<logic:iterate id="samples" name="<%=formName%>" property="samples" indexId="sampleIndex"
                       type="Sample">

            <tr>
                <td>
                <span class="itemNumber">
                    <bean:write name="samples" property="accessionNumber"/>
                </span>
                </td>
                <td>
                    <bean:write name="samples" property="sampleType"/>
                </td>
                <td>
                    <ul>
                        <logic:iterate id="tests" name="samples" property="tests" indexId="testIndex"
                                       type="Test">
                            <li class="test-name">
                                <html:hidden name="tests" property="testId" indexed="true"/>
                                <label>
                                    <html:checkbox name="tests" property="added" indexed="true" value="true"/>
                                    <bean:write name="tests" property="testName"/>
                                    <bean:write name="tests" property="added"/>
                                </label>
                            </li>
                        </logic:iterate>
                    </ul>
                </td>
            </tr>
        </logic:iterate>

当我访问样本时,我将获得未修改的列表。

dynaForm.get("samples");

我将值设置为这样的样本:

PropertyUtils.setProperty(dynaForm, "samples", possibleSampleList);

有人可以帮助我理解为什么它没有改变财产的价值&#34;添加&#34;

1 个答案:

答案 0 :(得分:0)

更改此内容:

<html:checkbox name="tests" property="added" indexed="true" value="true"/>

以下内容:

<input type="checkbox" name="samples[<bean:write name='sampleIndex'/>].tests[<bean:write name='testIndex'/>].added">

解决了这个问题。