欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在插件模式开发中获取portal相关信息

程序员文章站 2022-07-15 13:22:38
...

在Liferay中以插件模式开发一些功能模块会非常方便,有时候希望在插件开发的页面中获取一些Liferay Portal的相关信息,如社区ID、主题、布局等,可以通过如下方法获取:

 

以获取GroupId为例:

 

Liferay版本:4.2.2(其他版本未测试,理论上应该差不多)

 

 

Layout layout = (Layout)request.getAttribute("LAYOUT");
System.out.println(layout.getGroupId());

 这个里面的Layout是属性类:

 

com.liferay.portal.model.Layout

 此类是在jar包:portal-service.jar里面,这个jar包在部署时是部署在tomcat/lib目录下面的,所以不需要另外的为插件工程引入特别的包。

获取当前用户ID

获取当前用户ID可以直接使用,request.getRemoutUser();

 

从request里面获取PortletRequest

 

 

PortletRequest portletRequest = (PortletRequest)request.getAttribute("javax.portlet.request");
 

这个属性是在什么被Liferay Portal添加到Request里面的呢?

Liferay的每次请求都要经过Liferay Portal容器的转发,在Liferay 4.2.2版本里面,这些信息是在

 

com.liferay.portal.events.ServicePreAction.java

 这个类里面的,如果需要添加一些自己特殊的信息到request里面,可以修改此类的源码以支撑自己的应用。

相关标签: liferay