2012-09-09 56 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获取操作类的参数。