Liferay:哪个请求使用了同时向两个portlet发送参数?

Liferay:哪个请求使用了同时向两个portlet发送参数?,liferay,httprequest,Liferay,Httprequest,我正在使用Liferay 6.2 我希望将参数从portlet A发送到portlet B,但我希望portlet B也收到该参数 通常使用此选项,但不起作用: 这是portlet A上的代码 PortletURL renderURL=PortletURLFactoryUtil.create(请求,portletBName,主题显示.getPlid(),PortletRequest.RENDER_阶段) setParameter(“mvcPath”,“/html/carinfo/view_2.j

我正在使用Liferay 6.2

我希望将参数从portlet A发送到portlet B,但我希望portlet B也收到该参数

通常使用此选项,但不起作用:

这是portlet A上的代码

PortletURL renderURL=PortletURLFactoryUtil.create(请求,portletBName,主题显示.getPlid(),PortletRequest.RENDER_阶段)

setParameter(“mvcPath”,“/html/carinfo/view_2.jsp”); renderURL.setParameter(“carId”,car.getId())

可以使用哪种方法?示例代码,如果可以,请


谢谢。

您需要定义一个公共渲染参数。它是用于portlet间通信的JSR标准

有关更多示例,请查看此示例portlet或google for
公共呈现参数示例Liferay

要做的关键事情是将其放入每个参与portlet的portlet.xml中

carId

然后,当jsp中有一个读卡器url时,如下所示:

    <portlet:renderURL var="rednerURL">
        <portlet:param name="mvcPath" value="/html/carinformation/view_2.jsp"/>
        <portlet:param name="carId" value="${car.id}"/>
    </portlet:renderURL>


好的,我知道了。只需要配置一个公共参数。在portlet上创建PortletURL,如上所述。在portlet B上,您可以正常接收它。

您好,我尝试了,但还不够。当我在portlet B的actionURL中传递portlet B的jsp页面时,portlet A呈现给这个jspPage,而不是portlet B呈现给这个jspPage。请帮助我。我在问题中添加了更多描述。我们通常这样从portlet B调用portlet A的html。您是否将mvcPath参数设置为公共呈现参数?你不能那样做。public render参数应该正好是carId。然后将公共呈现参数发送到所有支持给定公共呈现参数的portlet。因此,使用公共渲染参数无法做到这一点。如何处理此代码:PortletURL renderURL=PortletURLFactoryUtil.create(请求,portletBName,主题显示.getPlid(),PortletRequest.RENDER_阶段);setParameter(“mvcPath”,“/html/carinfo/view_2.jsp”);renderURL.setParameter(“carId”,car.getId());