我一直致力于在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;
}
我的问题是这不适用于可实例化的Portlet。
我可以添加一些参数来使这个 url 链接到-any-
目标 Portlet 的实例吗?
还是我需要知道instanceId
目标 Portlet 的名称?如果是这样,我该如何将其设置为LiferayPortletURL
实例?
提前谢谢,任何帮助将不胜感激
PS:我正在使用 Liferay 6.1 GA1