2014-12-04 58 views
0

我有一些樣本列表,其中有測試列表。我將設置屬性添加到html:複選框。當複選框被選中時,添加變量的值不會改變。複選框沒有更新Struts上的屬性

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

有人可以幫助我瞭解爲什麼它不改變屬性的值「加」

+0

你在說什麼變數? – 2014-12-04 09:49:50

+0

複選框的屬性,'已添加' – 2014-12-04 09:51:27

+0

在您定義列表的位置發佈代碼。 – 2014-12-04 09:58:16

回答

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

解決了這個問題。