我在迭代器中有一个复选框,位于jsp页面中。无论我尝试什么,复选框标签的属性值都保持'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>
使用fieldset属性获取的变量chemin
是我想要的。我可以通过Web Inspector看到它,但我无法在代码中看到它。我只回到'价值'变量的值,这是绝对“真实”的价值。
答案 0 :(得分:0)
使用iterator
标记填充包含复选框等输入元素的页面时,可以使用value
属性预选复选框的状态。 fieldValue
与用于设置生成的HTML复选框的实际值不同,但s:checkbox
是复合标记,还有HTML复选框标记,它还会生成隐藏字段并设置字段值进入它。因此,您不必将value
和fieldValue
与列表中的值一起使用。
再次使用iterator
标记和列表以及提交这些值的要求。您应该使用索引属性名称。此索引名称在请求中用作参数的名称,并允许通过params
interceptor填充到操作类的list属性。
<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
interceptor的默认拦截器堆栈。此拦截器需要填充未选中的值。