簡體   English   中英

如何在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屬性中的屬性連接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>

不要忘記標簽,通過使用它們,您可以通過單擊標簽文本來選中復選框。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM