在liferay中,我如何捕获用户对组的访问?

时间:2013-10-09 11:02:43

标签: liferay

我正在构建一个通知系统,需要存储给定用户上次访问给定组的私人(或单独公开)页面的时间。

有没有办法构建一个每次加载新页面时都会触发的侦听器?

谢谢, 阿兰

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上!

首先在你的插件中创建/WEB-INF/liferay-hook.xml。写:

<hook>
    <portal-properties>portal.properties</portal-properties>
</hook>

接下来,创建/WEB-INF/src/portal.properties。使用侦听器类定义servlet.service.events.pre

servlet.service.events.pre=com.example.hook.events.ServicePreAction

接下来,创建该类:

package com.example.hook.events;

import com.liferay.portal.kernel.events.Action;
import com.liferay.portal.kernel.events.ActionException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServicePreAction extends Action {

    @Override
    public void run(HttpServletRequest request, HttpServletResponse response)
        throws ActionException {
    }

}

从那里你可以从请求中获取ThemeDisplay对象,其中包含你需要的所有信息。