[英]How to retrieve the values of the row selected using radio button in Struts2?
我已經基於迭代器顯示了一個表格,其中每行都有一個單選按鈕,這是基於要通過單擊按鈕執行編輯和刪除操作的選定行的。 如何通過單擊“編輯”或“刪除”按鈕來檢索所選行中的所有值?
這是我的代碼:
<s:iterator value="List" var="Bean">
<tr>
<td><s:radio theme="simple" name="ID" list="#{'ID':''}"/>
</td>
<td ><s:property value="ID"/></td>
<td ><s:property value="NAME"/></td>
<td ><s:property value="STATUS"/></td>
<td ><s:property value="TYPE"/></td>
</tr>
</s:iterator>
使用s:radio
可以檢索ID,但是我想檢索所選行中的所有值。
有什么可能的方法只為選定的行設置Bean,以便在操作類中檢索其值?
該ID不是唯一的,因此我無法使用它來檢索我選擇的行中的值
在您的代碼中,您沒有編輯功能,因為您正在使用<s:property/>
標記,該標記僅輸出文本。
為了進行編輯,您需要一個交互式標簽,例如<s:textfield/>
。
請注意,您的List
和Bean
(以及所有屬性)值是非標准的,因為它們應以小寫字母開頭( getList()
-> list
, getBean()
-> bean
)。 請參考JavaBeans標准,並使用CamelCase表示法。
<s:iterator value="list" var="bean" status="ctr">
<tr>
<td> <s:radio name="selectedId" list="#{'id':''}
theme="simple" /> </td>
<td> <s:property value="id"/> </td>
<td> <s:textfield name="bean[#ctr.index].name"/> </td>
<td> <s:textfield name="bean[#ctr.index].status"/> </td>
<td> <s:textfield name="bean[#ctr.index].type"/> </td>
</tr>
</s:iterator>
這樣,您將需要在Action上執行以下操作:
@Getter @Setter private Long selectedId;
@Getter @Setter private List<MyObject> list;
然后您將通過循環列表並選擇其id
字段與selectedId
匹配的記錄來訪問選定的元素。
您可以使用迭代器#ctr.index
屬性而不是id
來自動實現,但是列表必須同步;
通過使用Map
而不是List,並使用id
作為鍵,使用myObject
作為值,可以以一種更好的方式自動實現。
請享用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.