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

liferay开发小记---portlet文件构造

阅读更多

书接上回,说说portlet的开发,每一个portlet就是对应着一个web应用,在liferay中它把多个portlet集成到一个页面展示出来。如果你的开发环境搭建完成,启动tomcat,用帐号/密码:test@liferay.com/test登录到liferay中,liferay的手册中有关于权限、页面布局、样式定义等的介绍,这里不说了。我们先看一下ipc-baseball-portlet这个portlet的构造。docroot文件夹是你的portlet存放应用文件的根目录,先看WEB-INF下的几个配置文件。liferay-display.xml文件是你的portlet的显示信息:

<display>
	<category name="IPC">
		<portlet id="pitcher-portlet" />
		<portlet id="catcher-portlet"/>
	</category>
</display>

 其中"IPC"是你"Add Application"时候弹出窗口中的一个分类名称,以上配置说明在IPC这一类下有两个portlet应用。liferay-plugin-package.properties是开发包的属性文件;liferay-portlet.xml是一个liferay和具体portlet的关联文件,

<liferay-portlet-app>
	<portlet>
		<portlet-name>pitcher-portlet</portlet-name>
		<icon>/icon.png</icon>
		<instanceable>true</instanceable>
		<header-portlet-css>/css/test.css</header-portlet-css>
		<header-portlet-javascript>/js/test.js</header-portlet-javascript>
	</portlet>
	<portlet>
		<portlet-name>catcher-portlet</portlet-name>
		<icon>/icon.png</icon>
		<instanceable>true</instanceable>
		<header-portlet-css>/css/test.css</header-portlet-css>
		<header-portlet-javascript>/js/test.js</header-portlet-javascript>
	</portlet>
	<role-mapper>
		<role-name>administrator</role-name>
		<role-link>Administrator</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>guest</role-name>
		<role-link>Guest</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>power-user</role-name>
		<role-link>Power User</role-link>
	</role-mapper>
	<role-mapper>
		<role-name>user</role-name>
		<role-link>User</role-link>
	</role-mapper>
</liferay-portlet-app>

 该文件中,pitcher-portlet是该portlet的ID,它要和liferay-display.xml文件中的ID对应,这个id下面几行是指定这个portlet加载的时候要引入的css和js文件,我试了一下,用逗号分隔不能添加多个文件。文件后半段是说明什么样的角色可以访问这两个portlet。

portlet.xml才是描述这个portlet的关键文件:

<portlet>
	
		<portlet-name>pitcher-portlet</portlet-name>
		<display-name>Pitcher Portlet</display-name>
		<portlet-class>com.liferay.ipc.PitcherPortlet</portlet-class>
		<init-param>
			<name>view-jsp</name>
			<value>/pitcher/view.jsp</value>
		</init-param>
		<expiration-cache>0</expiration-cache>
		<supports>
			<mime-type>text/html</mime-type>
		</supports>
		<portlet-info>
			<title>Pitcher Portlet</title>
			<short-title>Pitcher Portlet</short-title>
			<keywords>IPC Baseball Pitcher</keywords>
		</portlet-info>
		
		<security-role-ref>
			<role-name>administrator</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>guest</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>power-user</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>user</role-name>
		</security-role-ref>
		
		<supported-publishing-event>
			<qname xmlns:x="http://liferay.com/events">x:ipc.pitch</qname>
		</supported-publishing-event>
		
	</portlet>
	
	<portlet>
		<portlet-name>catcher-portlet</portlet-name>
		<display-name>Catcher Portlet</display-name>
		<portlet-class>com.liferay.ipc.CatcherPortlet</portlet-class>
		<init-param>
			<name>view-jsp</name>
			<value>/catcher/view.jsp</value>
		</init-param>
		<expiration-cache>0</expiration-cache>
		<supports>
			<mime-type>text/html</mime-type>
		</supports>
		<portlet-info>
			<title>Catcher Portlet</title>
			<short-title>Catcher Portlet</short-title>
			<keywords>IPC Baseball Catcher</keywords>
		</portlet-info>
		<security-role-ref>
			<role-name>administrator</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>guest</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>power-user</role-name>
		</security-role-ref>
		<security-role-ref>
			<role-name>user</role-name>
		</security-role-ref>
		
		<supported-processing-event>
			<qname xmlns:x="http://liferay.com/events">x:ipc.pitch</qname>
		</supported-processing-event>
	</portlet>
	
	<event-definition>
		<qname xmlns:x="http://liferay.com/events">x:ipc.pitch</qname>
		<value-type>java.lang.String</value-type>
	</event-definition>

 portlet-name要和刚才的id对应,display-name是portlet的标题名,portlet-class是这个portlet对应的请求处理类,init-param中配置的是这个portlet加载到页面中时初始页面,当然这个也可以是一个映射请求;expiration-cache是缓存,supports中配置的是支持的文件格式,这个以后还会再说到,我现在不怎么清楚怎么添加多种文件支持格式;以下是一些权限控制信息。supported-publishing-event是说明一下这个portlet支持的事件,这个例子本身就是介绍两个portlet怎么通信的,这一块我还没看。

别的方面,感觉看看例子就差不多了。

2
0
分享到:
评论

相关推荐

    liferay开发小记---开发环境的搭建

    本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...

    liferay-plugins-sdk-6.1.1-20130816114619181.zip

    此外,SDK还包括了构建脚本(如`build.xml`)和配置文件(如`liferay-plugin-package.xml`),这些文件用于控制项目的构建过程和插件的元数据。`build.xml`通常使用Ant构建工具,定义了编译、测试、打包和部署的步骤...

    liferay-portal-sql-6.1.1-ce-ga2-20120731132656558

    在压缩包内的文件 "liferay-portal-sql-6.1.1-ce-ga2-20120731132656558" 可能包含以下内容: 1. **安装脚本**:通常在安装或更新Liferay Portal时,会有一系列的SQL脚本用于创建必要的数据库结构,包括表、视图、...

    Liferay_Control-Panel_Portlet DTD-5.2_MVC-Portlet

    总的来说,"Liferay Control-Panel Portlet DTD-5.2_MVC-Portlet"这个主题涵盖了Liferay的管理界面、portlet部署规范以及最常用的portlet开发模式。对于想要深入理解和开发Liferay应用的IT专业人士来说,掌握这些...

    liferay-spring-mvc-portlet:Liferay Spring MVC portlet 的项目模板

    Liferay Spring Portlet MVC 使用 Maven 的 Liferay Spring Portlet MVC 项目模板。 Liferay EE 6.2.10.11 (GA1, SP... $ cp target/liferay-spring-mvc-portlet.war $LIFERAY_HOME/deploy/ 配置 默认设置为 Liferay

    liferay-ide-eclipse-updatesite-1.6.2

    本文将详细介绍“liferay-ide-eclipse-updatesite-1.6.2”这一更新站点及其相关知识点。 一、Liferay IDE Liferay IDE是由Liferay公司开发的,它是基于Eclipse平台的插件,专门用于简化Liferay Portal的开发工作。...

    liferay-ide-eclipse-updatesite-1.1.0.zip

    在IT行业中,Liferay IDE是一款专为Liferay Portal开发设计的强大工具,而"Liferay-ide-eclipse-updatesite-1.1.0.zip"正是这个工具的更新站点包,它提供了针对Liferay 6.0版本的定制化集成开发环境。Liferay IDE是...

    liferay-spring-portlet

    【标题】"liferay-spring-portlet"是一个基于Spring框架构建的portlet应用,适用于Liferay门户平台。这个项目展示了如何将Spring与Liferay Portal结合,创建一个可直接部署到Liferay中的WAR包。作者提到他们已经花费...

    liferay-faces-bridge-impl-3.0.0-ga1.zip

    总之,"liferay-faces-bridge-impl-3.0.0-ga1.zip"和"duckapter.zip"代表了Java开发领域中的两个关键点:portlet和JSF的集成以及静态语言中的鸭子类型实现。通过了解和使用这些工具,开发者能够更好地利用开源资源,...

    liferay-portal-src-6.0.6-20110225.part2

    liferay-portal-src-6.0.6-20110225.part2

    liferay环境的搭建

    本文档旨在详细介绍如何利用Eclipse集成开发环境(IDE)来搭建Liferay开发环境,并创建portlet项目。通过本指南,您将能够成功安装必要的软件并配置开发环境。 #### 二、所需资源 为了搭建Liferay开发环境,您需要...

    Liferay-Portlet-SDK5.2.3.rar_liferay_liferay sdk_portlet

    - **文档**:如“Liferay-Portlet-SDK 5.2.3操作说明.ppt”文件,它详细介绍了SDK的使用方法,包括portlet的开发流程、配置、部署以及调试技巧。这份文档通常会涵盖portlet生命周期、portlet上下文、渲染和事件处理...

    liferay-developer-guide-6.0_liferay_

    Liferay Portal是一款开源的企业级门户平台,它提供了丰富的功能,如用户管理、角色权限控制、页面布局、portlet开发等。开发者需要了解Portal是如何组织和展示内容的,以及如何通过portlet来创建可重用的Web组件。 ...

    liferay-6.2-sdk

    例如,通过运行`ant create-portlet`命令,你可以快速创建一个新的portlet项目。每个项目的结构都是预先定义好的,包含了所有必要的源代码目录、配置文件和依赖库。 **3. Portlet开发** Portlets是Liferay Portal中...

    liferay-plugins-sdk-5.1.2

    1. **Portlet开发**:Portlets是Liferay Portal中的核心组件,它们类似于Web应用程序,可以在门户页面上显示各种类型的内容和功能。Liferay Plugins SDK提供了创建Portlet项目的模板和构建工具,使得开发者能够轻松...

    liferay-plugins-sdk-5.1.2中所需要更换的portlet

    the portlets.zip files, which provide portlets directory skeleton, needs to be changed by a correct one....cd liferay-plugins-sdk-5.1.2/portlets rm portlet.zip and download it from here !

    liferay-spring-mvc-freemarker-portlet-archetype

    liferay-spring-mvc-freemarker-portlet-archetype 这是用于创建 Liferay Spring MVC Freemarker portlet 的 maven 原型。 由于 Liferay 不正式支持这种类型的 portlet,因此当前不存在原型。 这个原型修正了这一点...

    liferay-portlet-development

    《Liferay Portlet 开发——全面指南》:深入解析与实战技巧 本书旨在为开发者提供一份详尽的Liferay Portlet开发指南,涵盖从基础知识到实际应用的全面内容。Liferay是一款开源的企业级门户平台,它支持高度定制化...

    liferay-ide-eclipse插件

    Liferay IDE Eclipse插件是专为开发者设计的一款强大的工具,旨在提升在Eclipse集成开发环境中的Liferay Portal项目开发效率。这款插件提供了丰富的特性,使得开发者能够在Eclipse内无缝地进行Liferay相关的代码调试...

Global site tag (gtag.js) - Google Analytics