【发布时间】:2012-11-22 14:29:28
【问题描述】:
我一直致力于在MVCPortlet 控制器中以编程方式创建 Liferay actionUrls。
到目前为止,我已经成功地创建了一个指向另一个 portlet 操作的工作链接,
使用以下代码放置在另一个页面中(Layout Liferay 术语):
LiferayPortletResponse rr = PortalUtil.getLiferayPortletResponse( response);
Layout layout = ... // I manage to get the correct one using LayoutLocalServiceUtil
LiferayPortletURL ddUrl = rr.createActionURL("portlet_WAR_name") ;
if(Validator.isNotNull(layout)){
// Setting info to the other portlet
ddUrl.setPlid(layout.getPlid());
// Setting the action Name
ddUrl.setParameter(ActionRequest.ACTION_NAME, "actionFunctionNameOf_MVCPortlet");
// adding any action-related params
ddUrl.setParameter("someParam1", ...) );
ddUrl.setParameter("someParam2", ...) );
return ddUrl;
}
我的问题是这不适用于instanceable Portlet。
我可以添加一些参数,以使此 url 链接到目标 Portlet 的 -any- 实例吗?
或者我是否需要知道目标 Portlet 的instanceId?如果是这样,如何将其设置为 LiferayPortletURL 实例?
提前谢谢,任何帮助将不胜感激
P.S.:我正在使用 Liferay 6.1 GA1
【问题讨论】: