Struts2 Checkbox值与迭代器

时间:2012-08-16 04:42:59

标签: checkbox struts2 iterator

我有以下代码

<s:iterator value="assignedProductRoleBean.serviceProfiles" status="serStatus">
  <tr>
    <td width="150px">
      <s:property value="serviceSpecCode" />
    </td>
    <s:hidden name="assignedProductRoleBean.serviceProfiles[{#serStatus.index}].serviceSpecCode" value="{serviceSpecCode}" />
    <td width="150px">
      <s:property value="code" />
    </td>
    <s:hidden name="assignedProductRoleBean.serviceProfiles[%{#serStatus.index}].code" value="%{code}" />
    <td width="50px">
      <s:checkbox name="assignedProductRoleBean.serviceProfiles[{#serStatus.index}].granted" value="granted" cssStyle="width:20px;border:0;background-color:transparent" />
    </td>
    <s:iterator value="assignedProductRoleBean.serviceProfiles[{#serStatus.index}].characteristics" status="serCharStatus">
      test
      <td width="150px">
        <s:property value="key" />
      </td>
      <s:hidden name="assignedProductRoleBean.serviceProfiles[{#serStatus.index}].characteristics[%{#serCharStatus.index}].key" value="%{key}" />
      <td width="150px">
        <s:textfield theme="simple" name="assignedProductRoleBean.serviceProfiles[%{#serStatus.index}].characteristics[%{#serCharStatus.index}].value" value="%{value}" /></td>
    </s:iterator>
  </tr>
</s:iterator>

问题是,我正在获取'已授权'的真值的CHECKED视图。但是当我取消选中/检查视图页面时,它们没有更新到相应的bean。

第二个迭代器(内部)的另一个问题。我有角色,虽然他们没有在jsp页面中显示。然而,在提交页面后,他们将进入行动班。

ps我甚至尝试过value =%{granted}

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。我有这个工作:

<div>           
            <s:iterator value="podTypeContentList" status="stat" var="podTypeContent"> 
                <s:if test = "#podTypeContent.selected == true">
                    a
                </s:if>
                <s:else>
                    b
                </s:else>               
                <s:property value="%{podContent}" />
                <s:property value="%{selected}" />  

                <s:checkbox name="%{id}" value="%{selected}"  fieldValue="%{podContent}"  />
                <br />
            </s:iterator>
            <br class="clear" />
            <s:submit align="center" value="Save" id="submitButton" cssClass="btn btn-primary" />
        </div>

“selected”实际上是isSelected boolean bean属性。把我扔了几个小时。