`
daoger
  • 浏览: 530109 次
  • 性别: Icon_minigender_1
  • 来自: 山东济南
社区版块
存档分类
最新评论

Liferay portlet实例化配置

XML 
阅读更多
在默认的情况下,一个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。
3
1
分享到:
评论

相关推荐

    liferay portlet 开发实例

    在IT领域,特别是企业级应用开发中,Liferay作为一个强大的企业门户平台,提供了丰富的功能和服务,其中Liferay Portlet的开发是构建定制化企业应用的关键技术之一。本文将基于提供的文件信息,深入解析Liferay ...

    liferay portlet demo

    这个描述简短地指出了这是一个演示Liferay Portlet功能的实例。它可能包括创建用户界面、处理HTTP请求、与后端服务交互等功能。开发者可以通过分析和运行这个示例,学习如何在Liferay平台上构建动态、自定义化的应用...

    liferay portlet开发

    例如,可以指定Portlet的图标、是否可实例化、CSS和JavaScript资源等。 ```xml &lt;!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.1.0//EN" ...

    liferay portlet

    liferay-portlet.xml文件则更专注于Liferay特定的配置,例如默认用户组、portlet是否支持多个实例、portlet的显示设置以及权限控制。它允许开发者指定portlet在Liferay环境中的具体行为和可见性。 liferay-display....

    Liferay Soy Portlet可视化数据

    在这个实例中,“Liferay Soy Portlet可视化数据”意味着我们将探讨如何利用Soy Portlet从web service获取数据并将其以可视化方式呈现。Web service通常是一种基于HTTP协议的API,可以跨网络提供服务,使不同系统间...

    liferay-portlet-development-guide-4.3

    12. **Portlet实例分析**:通过实际示例,加深对portlet开发的理解,包括如何创建一个简单的Hello World portlet。 通过阅读《Liferay Portlet Development Guide 4.3》,开发者不仅可以学会如何开发portlet,还能...

    liferay portal 开发实例

    9. **国际化**:Liferay支持多语言,开发者需要处理i18n资源文件,确保portlet内容能在不同语言环境下正常显示。 在学习这些实例时,你应该着重理解每个部分的作用,以及它们之间如何协同工作。同时,通过调试和...

    Portelt 入门实例for Liferay

    在这个"Portlet入门实例for Liferay"中,我们将深入探讨Portlet的基本概念、开发流程以及在Liferay中的应用。 1. **Portlet基本概念**: - Portlet是一种轻量级的Web组件,它可以嵌入到门户页面中,提供特定的功能...

    liferay的那些东西

    3. **[portlet-name].portlet.pdf**:这可能是一个具体的portlet开发实例,包含portlet的详细设计、实现和配置信息。Portlet的开发涉及XML配置(如portlet.xml)、JSP(用于视图渲染)、Java后端服务(处理请求和...

    liferay-portal详解

    Portlet 生命周期包括五个阶段:初始化、实例化、渲染、销毁和异常处理。每个阶段都有其特定的任务和责任。 Liferay Portal 工作原理 Liferay Portal 的工作原理主要包括 portlet 样式、窗口状态、portal 页面和...

    liferay开发配置资料(全)

    portlet配置通常在portlet部署后通过portlet实例进行。 开发Liferay应用时,需要熟悉Java和JSF(JavaServer Faces)、Portlet API、MVCPortlet等技术。Liferay提供了Service Builder工具,帮助开发者自定义服务,...

    Liferay7.0自定义登录实例

    在Liferay控制台中,你可以在“布局”部分添加新的portlet实例,将自定义登录界面添加到门户的合适位置。测试登录功能,确保一切按预期工作。 在Liferay 7.0中自定义登录实例,不仅可以改变登录界面的外观,还可以...

    liferay6.2开发指南.pdf

    - **测试 Liferay 服务器**:IDE 允许开发者配置和管理多个 Liferay 服务器实例,方便进行本地测试和调试。 - **生成新的 Liferay 项目**:通过内置的向导,开发者可以快速创建 Portlet、主题或其他类型的 Liferay ...

    Liferay Portal额外研究

    liferay-portlet.xml则定义了Portlet的默认用户组、默认模板和多实例支持。liferay-display.xml则用于指定Portlet的分类,以便于Liferay的权限管理和用户界面展示。开发者可以选择继承Liferay提供的基础Portlet类,...

    liferay学习资源

    3. **配置Portlet实例属性**: - 在`liferay-portlet-ext.xml`中,定义Struts的路径(`struts-path`)以及是否使用默认模板(`use-default-template`)。Struts-path应与portlet配置中的`view-action`相对路径匹配...

    eclipse下liferay的扩展开发

    在本文中,我们将深入探讨如何在Eclipse环境中进行Liferay的扩展模式开发。Liferay是一个开源的企业级门户平台,提供了两种...通过熟练掌握这种开发模式,开发者能够构建出符合组织需求的强大和个性化的Liferay实例。

    liferay 整合struts例子

    在liferay-plugin.xml中声明portlet,struts-config.xml定义Action路径和业务逻辑,web.xml设置初始化参数。 4. **Portlet开发**:在Liferay中,Struts Action可以通过实现Liferay的PortletAction接口来适应portlet...

    Liferay 5.2.3 二次开发环境搭建

    2. **启动Tomcat服务器**: 在Myeclipse中启动配置好的Tomcat服务器,Liferay会自动部署并初始化。 **四、开发环境配置** 1. **创建Liferay Portlet项目**: 使用Myeclipse的Liferay插件(如果安装了)创建一个新的...

    Liferay开发持久化层和服务层演示Demo代码

    在描述中提到的实例——“Liferay开发实战(2):Service Builder生成持久化层,一个简单留言板的例子”,我们可以看到Service Builder如何应用于实际项目中。这个例子中,开发者创建了一个名为“guestbook”的portlet...

Global site tag (gtag.js) - Google Analytics