Portlet在liferay中的Portlet通信

时间:2012-09-09 14:42:34

标签: liferay portlet

我有两个portlet:Display-portlet和Comment-portlet。

显示的portlet
这显示了一个网格(html <table>),其详细信息来自数据库。每个表格行显示供应商详细信息并具有href链接, 应该与我的评论portlet 传递 参数(例如vendor-nametranscation-id连接到Comment-portlet。< / p>

在每一行上都有一个链接,在选择特定供应商时,他的详细信息应传递给第二个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>

请帮助我如何将每行值传递给其他portlet。

当我尝试使用隐藏值时,默认情况下只选择第一个值。如果有其他方法可以解决这个问题,请提出解决方案。

这个问题可能不完全是Liferay-IPC,但如果提供更好的解决方案,将会受到赞赏。

2 个答案:

答案 0 :(得分:0)

有关Portlet到Portlet通信的详细说明,请访问:

https://www.liferay.com/community/wiki/-/wiki/Main/Portlet+to+Portlet+Communication?_36_pageResourcePrimKey=6629472

最好的方法是:

1 - 分享会话参数和 2 - 客户端IPC。

答案 1 :(得分:0)

从你的JSP脚本我猜你的portlet是Liferay MVCPortlet。

您可以像使用request.getParamater()方法使用JSP的任何Java Web项目那样执行此操作

这可能需要您将url中的参数传递给持有Comment Portlet的页面,如/ web /...../ pagename?param = ...作为GET方法或隐藏为表单POST方法。

现在可以在Comment portlet的view.jsp中获取参数现在可以使用PortletRequest或ActionRequest获取操作类的参数。