即使在服务器端将测试变量设置为true,我的所有复选框都保持未选中状态。当我检查代码时,所有复选框值= true。
<c:if test="${not empty myObject.objectList}">
<c:forEach items="${myObject.objectList}" varStatus="index">
<tr class="cdata">
<td align="center">
<td><form:checkbox path="test" /> <c:out
value="${testName}"
/></td>
</td>
</tr>
</c:forEach>
</c:if>
答案 0 :(得分:0)
问题是您没有将复选框绑定到特定项目。您可以将其绑定到列表中的特定项目,如下所示。
您必须确保列表的一致排序,以确保正确更新提交的值。
<c:if test="${not empty myObject.objectList}">
<c:forEach var="items" items="${myObject.objectList}" varStatus="status">
<tr class="cdata">
<td align="center">
<form:checkbox path="items[${status.index}].test" />
${testName}
</td>
</tr>
</c:forEach>
</c:if>
答案 1 :(得分:-1)
设置值true不一定反映要检查的复选框
相反,您可以使用checked属性。只需写下
checked ="checked"
在复选框中,它会反映更改