【问题标题】:How to capture the portlet instance removing event from a page in Liferay?如何从 Liferay 的页面中捕获 portlet 实例删除事件?
【发布时间】:2012-11-21 19:11:20
【问题描述】:

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

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

【问题讨论】:

    标签: liferay portlet liferay-6


    【解决方案1】:

    你可以在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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2023-03-10
      • 1970-01-01
      • 2018-03-08
      相关资源
      最近更新 更多