我在 JSP 页面的
<s:checkbox>
标签内有一个 <s:iterator>
标签。无论我尝试什么,复选框标记的属性值都会保留 'true'
值,即使字段值的值是我想要的值。但我无法收回它。我只得到'true'
。
<s:iterator
id="pieceJointe"
value="listePiecesJointesTrouvees">
<tr height="30">
<td>
<s:property value="codeDemande" />
</td>
<td
headers="actions"
class="center">
<s:checkbox
value="%{chemin}"
fieldvalue="%{chemin}"
name="checkbox" />
</td>
</tr>
</s:iterator>
变量
chemin
,用fieldset属性返回,是我想要的。我可以使用 Web Inspector 看到它,但无法将其放入代码中。我只取回“value”变量的值,这是绝望的'true'
值。
当使用
iterator
标签使用复选框等输入元素填充页面时,您可以使用 value
属性来预选复选框的状态。 fieldValue
不同,它用于设置生成的 HTML 复选框的实际值,但 s:checkbox
标签 是一个复合标签,它与 HTML 复选框标签一起生成一个隐藏字段并将字段值设置到其中。因此,您不必将 value
和 fieldValue
与列表中的值一起使用。
再次使用
iterator
标签与列表以及提交这些值的要求。您应该使用索引属性名称。此索引名称用作请求中的参数名称,并允许通过 params
拦截器 填充到操作类的列表属性。
<s:iterator
id="pieceJointe"
value="listePiecesJointesTrouvees" status="status">
<tr height="30">
<td>
<s:property value="codeDemande" />
</td>
<td
headers="actions"
class="center">
<s:checkbox
value="%{chemin}"
name="listePiecesJointesTrouvees[%{#status.index}].chemin" />
</td>
</tr>
</s:iterator>
checkbox
拦截器。该拦截器需要填充 unchecked 值。