我是liferay的新手,我需要在用户访问组后使用Map(groupId,lastVisitedDate)增强我的用户对象。 有什么想法,何时以及如何拦截此请求并使用被调用的groupId和当前日期增强我的用户?
答案 0 :(得分:1)
我通过创建扩展portal.properties的钩子解决了我的问题。 在这个属性文件中,我创建了这个属性
servlet.service.events.pre=org.my.company.project.event.MyCustomAction
MyCustomAction类扩展了Action。
这就是我获得必要信息的方式
@Override
public void run(HttpServletRequest request, HttpServletResponse response)
throws ActionException {
try {
User user = PortalUtil.getUser(request);
ThemeDisplay themeDisplay = (ThemeDisplay) request
.getAttribute(WebKeys.THEME_DISPLAY);
Group group = themeDisplay.getLayout().getGroup();
[...]
} catch (Exception e) {
throw new ActionException(e);
}
}