在默认的情况下,一个portlet在一个页面上只能有一个,如果需要一个页面上有多个相同的portlet的话就需要对portlet进行实例化。实例化以后,Liferay会为每一个实例化的portlet分配一个 instance id用来区分相同功能的portlet。一个页面里的多个相同的portlet的instance id 不同,同样不同页面的相同的portlet的instance id也不相同。这样就可以开发功能相同,内容不同的实现。
具体配置如下:
添加instanceable属性配置;默认情况下instanceable为false,属性顺序参照liferay-portlet-app_4_4_0.dtd文件。
liferay-portlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.4.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_4_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>LinkManager</portlet-name>
<icon>/img/icon.png</icon>
<struts-path>library</struts-path>
<restore-current-view>false</restore-current-view>
<instanceable>true</instanceable>
<css-class-wrapper>portlet-library</css-class-wrapper>
</portlet>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>
每一个属性都是在com.liferay.portal.model.impl.PortletImpl中对应。
配置完成以后在代码中通过:
ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();
Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), portletDisplay.getId());
String instanceId = portlet.getInstanceId();
获得instance id。默认情况下,没有实例化的portlet取出来的instance id 为null。
分享到:
相关推荐
liferay portlet 开发的例子介绍
liferay portlet例子 liferay portlet例子
Liferay Portlet 开发文档, 比较全的开发介绍,了解PORTLET 的应用和基本开发, 熟悉Lifery IDE 开发。
可供参考的liferay开发的portlet示例工程,学习参考的简单示例
liferay portlet开发参考手册——作者:温兵
liferay portlet demo
liferay portlet开发介绍文档。
使用struts1.X实现了liferay portlet插件。
Liferay5.2.3的样例,通过war.bat打包后发布到相应的liferay环境即可。 另外,需要配置context,tomcat中的代码如下: </Context>
一个小例子 挺有用的 关于 liferay产品中配置 struts2
一个Liferay Soy Portlet使用web service进行可视化数据的实例。
用于liferay的站内消息组件,使用JSP编写,编译后可以直接运行。实现站点内部相互发送与恢复短消息。
Support For Liferay 5.2.3 & Web space 10.0 U4 Support For both NetBeans 6.5.x & 6.7 Page Navigation Fix For Visual JSF Portlet
Liferay-Portlet-SDK 5.2.3操作说明.ppt
liferay-portlet-development
详解portlet技术,是帮助你学习进步的好助手哦。快来下载吧
portlet入门简介,简单介绍组件概念,当前组件的一些规范。
Vaadin Hibernate Portlet 示例这是将移植到 Liferay portlet 并移植到使用 Maven 构建的尝试。 有关更多信息,请参阅的,将 ,,如果您有兴趣将 Spring 3 Portlet MVC 与 Liferay 6 结合使用,您可能还想查看. 此...
Liferay5.2.3和CAS配置成SSO
liferay portlet form 机制