2012-09-09 92 views
0

我有兩個portlet:Display-portlet和Comment-portlet。Portlet到Liferay中的Portlet通信

顯示的portlet
這示出了網格(HTML <table>),用於其細節來從數據庫中。每個錶行顯示供應商的詳細信息,並具有href鏈接, 應該讓連接到我的評論門戶參數,如vendor-nametranscation-id評論portlet的。

在每一行上都有鏈接,並且在選擇特定供應商時,他的詳細信息應該傳遞給第二個portlet。我試過portlet-to-portlet事件機制,它通過進程動作傳遞信息,所以我試圖在這裏實現相同的邏輯,但是我的參數不會傳遞給動作類。


我的顯示portlet的view.jsp具有如下表:

<table> 
    <tr> 
     <th>Trans.ID</th> 
     <th>Vendor Name</th> 
     <th>Action</th> 
     <th>Discuss</th> 
    </tr> 
    <tr> 
     <td align="center" id="trans_id"> 
      <%=chatEntry.getTransactionId()%> 
     </td> 
     <td align="left" id="vname_id"> 
      <%=chatEntry.getVendorName()%> 
     </td> 
     <td align="center" id="status_id"> 
      <%=chatEntry.getStatus()%> 
     </td> 
     <td align="center"> 
      <a href="javascript:submitForm()">click</a> 
     </td> 
    </tr> 
</table> 

請幫助,以我應該如何通過我的每一行值與其它門戶。

當我嘗試使用隱藏值時,默認情況下只有第一個值被選中。如果有其他方法可以解決這個問題,請提出解決方案。

這個問題可能不完全是Liferay-IPC,但如果提供更好的解決方案將不勝感激。

+0

下次開始請嘗試正確格式化問題中的代碼,以便它可以幫助其他成員及時回答。謝謝 –

+0

對於你想要實現的目標,我有點失落:它是否在頁面上有兩個portlet,並且一個portlet應該生成向另一個頁面提交http請求的HTML代碼? (如果是這樣,你怎麼知道這兩個確實在同一頁上?)或者您是否在問如何實現IPC以便能夠將更改分發到另一個portlet? (我認爲這是一個更清潔的解決方案) –

回答

0

從你的JSP腳本我猜你的portlet是一個Liferay MVCPortlet。

你可以做到這一點,你會使用JSP使用request.getParamater()方法

任何Java Web項目這可能需要你在一個URL傳遞參數給頁保持註釋的Portlet像/網絡/ ...../pagename?param = ...作爲GET方法或作爲表單POST方法隱藏。

現在可以在Comment portlet的view.jsp中獲取參數您現在可以使用PortletRequest或ActionRequest獲取操作類的參數。