有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Liferay以编程方式更改portlet列

我正在做一个Liferay门户,在Liferay布局中创建的不同列中有不同的Portlet

我的问题是:如何以编程方式(在java中)更改portlet所属的列

我试过这个:

long userId = themeDisplay.getUserId();
long groupId = themeDisplay.getLayout().getGroupId();

Layout layout = LayoutLocalServiceUtil.getFriendlyURLLayout(groupId, true, currentFriendlyURL);
LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

layoutTypePortlet.removePortletId(userId, iniPortletName);
String portletInstanceId = layoutTypePortlet.addPortletId(userId, iniPortletName, newColumn, position, true);

LayoutLocalServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings());

这是可行的,但使用这段代码,我删除了portlet,然后创建了一个新实例,我不希望这样

如何更新portlet的同一个实例的位置

谢谢


共 (1) 个答案