2013-02-07 21 views
4

我有一個表使用struts:iterator標籤顯示。表格值包含在ArrayList中。我在列表的每一行上都有一個編輯按鈕。當用戶點擊編輯按鈕時,該行的內容應該被髮送到動作和相應的結果頁面。我不允許使用複選框和單選按鈕。如何在不使用複選框或單選按鈕的情況下將表中選擇的數據發送到Struts2中的操作?

是否有一些param標籤我可以使用將該行設置爲參數並將其返回結果頁面。或者有沒有辦法在會話中設置該行並從會話中恢復?我如何在Struts2中實現這一點?

回答

2

您不應將整行設置爲參數,您只需設置該行的參數id即可。然後,您可以在需要保存時再次檢索該記錄。要設置參數,你可以使用這樣

<s:a action="edit" value="Edit"><s:param name="id" value="%{#row[ID]}"/></s:a> 
+0

你能告訴我如何在我的動作中使用它嗎?什麼是行[ID]? – minusSeven

+0

它是一個迭代器的變量,即''s:iterator var =「row」begin =「0」value =「#list」>' –

+0

好吧,我將如何獲取操作中的值?我會僅僅在行動課中保留一個ID並擁有吸氣劑和吸附劑嗎? – minusSeven

0

的鏈接,您可以通過使用錨標記

<s:iterator value="list"> 
<s:url action="companyedit" var="listUrl" > 
    <s:param name="id"><s:property value="id" /></s:param> 
    <s:param name="operation">Edit</s:param> 
</s:url> 

    <s:a href="%{listUrl}"><s:property value="companyName"/></s:a> 
    <s:property value="companyType" /> 
    . 
    . 
    . 
</s:iterator> 

希望這有助於

1

使用下面的代碼,你可以設置試試這行的東西例如,當您點擊刪除鏈接時,我們可以使用<s:bean/>實例化bean類的一個對象,並且可以使用<s:param/>將值設置爲bean

<s:iterator value="contactList" var="contactBean"> 
<s:url id="deleteUrl" action="deleteLink"> 
     <s:bean name="net.viralpatel.contact.model.Contact"></s:bean> 
     <s:param name="id" value="#contactBean.id"></s:param> 
     <s:param name="firstName" value="#contactBean.firstName"></s:param> 
    </s:url> 
     <s:a href="%{deleteUrl}"> 
      Delete 
     </s:a> 
</s:iterator> 
相關問題