如何从Liferay中的页面捕获portlet实例删除事件?

时间:2012-12-04 07:41:33

标签: liferay portlet liferay-6

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

在Liferay中有没有类似接口或挂钩的东西?

1 个答案:

答案 0 :(得分:10)

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

<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's Forum Post

,请参阅日记内容portlet