在插件模式开发中获取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里面,可以修改此类的源码以支撑自己的应用。
上一篇: android开发:The method getSupportFragmentManager() is undefined for the type
下一篇: The method setDate(int, java.sql.Date) in the type PreparedStatement is not applicable for the argum
推荐阅读