5

当我的 portlet 实例将从页面中删除时,我想捕获该事件以从该 portlet 中获取一些偏好值,并执行某些操作。

Liferay 中是否有类似接口或钩子的功能?

4

1 回答 1

10

PortletLayoutListener您可以在liferay-portlet.xml中定义自己的:

<portlet>
        <portlet-name>xxyyzz</portlet-name>
...
        <portlet-layout-listener-class>com.myCompany.MyLayoutTypePortletListener</portlet-layout-listener-class>
...
</portlet>

您的MyLayoutTypePortletListener可能类似于:

public class MyLayoutTypePortletListener
    implements PortletLayoutListener {

    public void onRemoveFromLayout(String portletId, long plid)
        throws PortletLayoutListenerException {
        // ***** ... your LOGIC HERE *****
    }

    public void onMoveInLayout(String portletId, long plid)
        throws PortletLayoutListenerException {

    }

    public void onAddToLayout(String portletId, long plid)
        throws PortletLayoutListenerException {
    }

}

有关示例和Liferay 的论坛帖子,请参见期刊内容 portlet 。

于 2012-12-04T16:10:43.343 回答