我有一个 liferay 页面,它应该有一个自由格式的布局,但是在运行时之前不知道 portlet 的数量。如何动态添加 protlet 并确定它们在页面中的位置?
谢谢你。
是的,您可以动态地将 portlet 添加到页面中。
在 liferay 页面中Layout
,您将 portlet 添加到Layout
.
当您知道布局时,此答案中的代码(参考addPortlet
方法)将帮助您将 portlet 添加到页面,即您知道需要将 portlet 添加到的页面。
您还需要指定column
将要在页面上添加的 portlet。
你提到:
但我不想从另一个 portlet 添加一个 portlet,我想在运行时将所有 portlet 添加到一个页面。
这段代码将保持不变,无论您想通过 portlet 还是通过操作类添加 portlet,例如当用户登录时,您调用代码以在内部添加 portlet,LoginPostAction
或者在执行某些其他操作时通过操作类添加 portlet。