【发布时间】:2012-11-21 19:11:20
【问题描述】:
当我的 portlet 实例要从页面中删除时,我想捕获该事件以从该 portlet 中获取一些偏好值,并执行一些操作。
Liferay 中是否有类似接口或钩子的功能?
【问题讨论】:
当我的 portlet 实例要从页面中删除时,我想捕获该事件以从该 portlet 中获取一些偏好值,并执行一些操作。
Liferay 中是否有类似接口或钩子的功能?
【问题讨论】:
你可以在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 {
}
}
请参阅日志内容 portlet 以获取示例以及 Liferay's Forum Post。
【讨论】: