如何在 Struts2 迭代器中显示预选复选框
How to display preselected checkboxes in a Struts2 Iterator
我将列表显示为复选框。在此,应根据数据库值预先选中一些复选框。
如果我使用复选框列表,我可以实现这一点,但我只能在复选框后显示一个 属性(listValue
) 。我需要在复选框后显示多个 属性。
<s:checkboxlist list="myList" name="checkboxes" listKey="id" listValue="name" value="selectedList"/>
这里 myList
有可用的复选框,selectedList
包含应该预先检查的键
那么如何使用迭代器中的复选框实现相同的功能...?
我试图显示可用复选框的代码是...
<s:iterator value="myList" var="record">
<s:checkbox name="id" value="%{#record.id}"/>
<s:property value="#record.name"/>
<s:property value="#record.description"/>
</s:iterator>
使用 <s:checkboxlist>
标签,您可以简单地连接 listValue
属性中的属性。
<s:checkboxlist list="myList"
name="checkboxes"
listKey="id"
listValue="name +' '+ description"
value="selectedList" />
如果您更喜欢自己遍历列表,请使用列表的 contains
方法将一些复选框设置为已选中。
请注意,<s:checkbox>
标签的 value
属性用于设置是否选中复选框。要设置将发送到服务器的值,您需要使用 fieldValue
属性。
<s:iterator value="records" var="record">
<label>
<s:checkbox name="id"
fieldValue="%{#record.id}"
value="selectedList.contains(#record.id)" />
<s:property value="#record.name" />
<s:property value="#record.description" />
</label>
</s:iterator>
不要忘记标签,通过使用它们,您可以通过单击标签文本来选中复选框。
我将列表显示为复选框。在此,应根据数据库值预先选中一些复选框。
如果我使用复选框列表,我可以实现这一点,但我只能在复选框后显示一个 属性(listValue
) 。我需要在复选框后显示多个 属性。
<s:checkboxlist list="myList" name="checkboxes" listKey="id" listValue="name" value="selectedList"/>
这里 myList
有可用的复选框,selectedList
包含应该预先检查的键
那么如何使用迭代器中的复选框实现相同的功能...? 我试图显示可用复选框的代码是...
<s:iterator value="myList" var="record">
<s:checkbox name="id" value="%{#record.id}"/>
<s:property value="#record.name"/>
<s:property value="#record.description"/>
</s:iterator>
使用 <s:checkboxlist>
标签,您可以简单地连接 listValue
属性中的属性。
<s:checkboxlist list="myList"
name="checkboxes"
listKey="id"
listValue="name +' '+ description"
value="selectedList" />
如果您更喜欢自己遍历列表,请使用列表的 contains
方法将一些复选框设置为已选中。
请注意,<s:checkbox>
标签的 value
属性用于设置是否选中复选框。要设置将发送到服务器的值,您需要使用 fieldValue
属性。
<s:iterator value="records" var="record">
<label>
<s:checkbox name="id"
fieldValue="%{#record.id}"
value="selectedList.contains(#record.id)" />
<s:property value="#record.name" />
<s:property value="#record.description" />
</label>
</s:iterator>
不要忘记标签,通过使用它们,您可以通过单击标签文本来选中复选框。