我有一个jsp页面钩子,因为我已经包含了一个运行时portlet,我需要将一个portlet实例从jsp页面钩子传递到运行时portlet,它位于同一个jsp页面钩子中。如何传递portlet实例id到运行时portlet?提前谢谢。
我已尝试过以下内容:我将portlet实例设为空
在jsp页面钩子中:
<liferay-portlet:runtime portletName="ContentCustomization_WAR_ContentCustomizationportlet" queryString="instance='<%=themeDisplay.getPortletDisplay().getInstanceId()%>'" />
在ContentCustomizationportlet的render()方法中:
String instance = httpRequest.getParameter("instance");
在ContentCustomizationportlet的jsp页面中
String instance=renderRequest.getParameter("instance");
答案 0 :(得分:1)
在jsp页面钩子中:
<c:set var="webcontentInstanceId" scope="request" value="<%=themeDisplay.getPortletDisplay().getInstanceId()%>"/>
<liferay-portlet:runtime portletName="ContentCustomization_WAR_ContentCustomizationportlet" queryString="&instanceId=${webcontentInstanceId}" />
在你的jsp检索中:
String instance=renderRequest.getParameter("instanceId");
如果你想进入行动课
HttpServletRequest httpRequest2 = PortalUtil.getHttpServletRequest(renderRequest);
String instance=httpRequest2.getParameter("instanceId");