在插件模式开发中获取portal相关信息
在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里面,可以修改此类的源码以支撑自己的应用。