原一直使用自己空间的博客,很少将信息都转换JavaEye与大家一同分享,向大家表示抱谦。
Liferay资料分类目录:http://www.nethref.com/?cat=39
Liferay标签使用说明文档:http://www.nethref.com/api/liferay-portal-doc-6.0.3/taglibs/
Liferay DTD文档类型定义使用说明: http://www.nethref.com/api/liferay-portal-doc-6.0.3/definitions/
Liferay API文档:http://www.nethref.com/api/liferay-portal-doc-6.0.3/javadocs/
基于Java开发常用API综合:http://www.nethref.com/api/
Liferay应用跟所有的Web应用一样,Liferay Portal采用多个XML部署描述文件,来初始化部署信息,规范操作模式,比如Portlet的初始化信息、可用的Portlet列表、Portlet所属角色和用
户组等等。通过这些部署描述文件,Liferay Portal可以在启动的时候自动加载Portlet,根据需要生成所需的Portlet页面。普通的Web应用,也可以很方便的转换成可部署的Portlet,p 这种实现也是JSR168和JSR286规定的。
1 web.xml
web.xml是所有Java Web应用的部署描述文件。其正式的规范由http://java.sun.com/dtd/web-app_2_3.dtd 定义。与其他普通Web应用相比,Liferay Portal的Portlet 应用还需要在web.xml中增加如下内容:
a、监听器:
<listener>
<listener-class>com.Liferay.portal.servlet.PortletContextListener</listener-class>
</listener>
这个要求web 服务器监听所有跟Portlet有关的请求信息,并将监听到的内容交给Liferay Portal的Portlet容器处理。
b、Portlet Servlet映射:
<servlet>
<servlet-name>yourPortlet</servlet-name>
<servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>Portlet-class</param-name>
<param-value>full.name.of.yourPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>yourPortlet</servlet-name>
<url-pattern>/yourPortlet/*</url-pattern>
</servlet-mapping>
其中,servlet-name为部署的servlet名称;init-param中定义自己的Portlet类,这个param-name要跟portlet.xml、liferay-portlet.xml、liferay-display.xml中的portlet-name节点值一致。
c、标签库映射:
<taglib>
<taglib-uri>http://java.sun.com/Portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/liferay-Portlet.tld</taglib-location>
</taglib>
定义了这个标签库映射,在JSP文件中才可以使用诸如<portlet:defineObjects />在内的一些特定的Portlet标签。
如果在应用中有用到其他的元素,可以按照web.xml规范加入到相应的位置当中。Liferay Portal默认的liferay应用,由于使用了Struts、Hibernate、Spring在内的多个开源框架,所以{PORTAL_HOME}/liferay/WEB-INF/web.xml文件会相对复杂些。在自定义的Portlet,可以使用getPortletConfig().getInitParameter(“ ”)和getPortletConfig().getParameterNames(“”)两个方法来取得在web.xml中定义的参数。
2 portlet.xml
portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、resource bundle等普通的初始化信息,包括:portlet-name、display-name、portlet-class、init-param、expiration-cathe、supports、portlet-info、security-role-ref等等。其正式的规范请参考:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd 。根目录为portlet-webapp。
portlet-name:Portlet的规范名称,在Portlet应用中必须唯一,主要用在Portlet部署和映射中。
display-name:供部署工具调用的Portlet简称,在Portlet应用中必须唯一。
portlet-class:Portlet对应的类,这个类必须直接或者间接的继承javax.Portlet.GenericPortlet。
init-param:初始化参数,有成对的<name>和<value>子元素。通常定义Portlet相应模式下可用的JSP页面。
expiration-cathe:定义Portlet加载允许最长的过期时间,以秒为单位。-1代表用不过期。
supports:定义Portlet支持的模式。所有的Portlet都必须支持浏览模式。
其他的元素含义请参照:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd
当Web 应用中有多个的Portlet时,可以统一的在Portlet。xml中定义一组的<portlet>元素。
<portlet>
<portlet-name>TestPortlet</Portlet-name>
<display-name>TestPortlet</display-name>
<portlet-class>com.educhina.portal.FirstPortlet</Portlet-class>
<init-param>
<name>view-jsp</name>
<value>/view.jsp</value>
</init-param>
<init-param>
<name>edit-jsp</name>
<value>/edit.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<supports>
<mime-type>text/html</mime-type>
<Portlet-mode>edit</Portlet-mode>
</supports>
<portlet-info>
<title>educhina Test Portlet</title>
<short-title> educhina Test Portlet </short-title>
<keywords> educhina Test Portlet </keywords>
</portlet-info>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref></portlet>
3 liferay-Portlet.xml
定义Portlet默认可用的用户组、默认模板、是否支持多个实例等,规范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd 定义。liferay-portlet.xml主要包含单独或者成组的<portlet>、<role-mapper>。其中,<portlet>下包含<portlet-name>、<struts-path>、<use-default-template>、<instanceable>等子元素,<portlet-name>在应用中必须唯一,且要跟portlet.xml相同;<role-mapper>下包含成对的<role-name>、<role-link>子元素。具体的元素含义请查看上述dtd定义。
<liferay-portlet-app>
<portlet>
<portlet-name> TestPortlet </portlet-name>
<struts-path> TestPortlet </struts-path>
<use-default-template>true</use-default-template>
<instanceable>true</instanceable>
</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>
4 liferay-display.xml
定义Portlet默认的所属类别。Liferay Portal对Portlet实行按类别管理和划分用户权限。正如我们在用户策略中提到的,可以制定某个类别可用的用户组、用户和角色,方便权限控制。Liferay-display.xml规范由http://www.liferay.com/dtd/liferay-display_3_5_0.dtd 定义。
Liferay-display.xml中,<display>下成组的<category>描述了可用的类别,其中portlet元素的id必须与liferay-portlet.xml的portlet-name保持一致,且在应用中唯一。
<display>
<category name=”category.test”>
<portlet id=”TestPortlet” />
</category>
</display>
5 liferay-layout-templates.xml
定义Portal可用的布局。正如我们在布局与品质中提到的那样,Portal采用tpl文件来规划桌面的布局。liferay-layout-templates.xml采用成组的layout-template来构建一个可用的布局列表。此xml的规范由http://www.liferay.com/dtd/liferay-layout-templates_3_6_0.dtd 来定义。
本文采用Liferay Portal默认的布局,暂时不需要定义自己的布局,故不准备深入讨论。读者有兴趣可以自己查看相关资料。
<layout-templates>
<layout-template id=”1_column” name=”1 Column”>
<template-path>/html/layouttpl/1_column。tpl</template-path>
</layout-template>
<layout-template id=”2_columns_i” name=”2 Columns (50/50)”>
<template-path>/html/layouttpl/2_columns_i。tpl</template-path>
</layout-template>
<layout-template id=”3_columns” name=”3 Columns”>
<template-path>/html/layouttpl/3_columns。tpl</template-path>
</layout-template>
<layout-template id=”1_2_1_columns” name=”1-2-1 Columns”>
<template-path>/html/layouttpl/1_2_1_columns。tpl</template-path>
</layout-template>
6 liferay-look-and-feel.xml
定义Portal可用品质的模板、图片、样式表等等,定义完毕后,Portal可以通过“布局与品质”管理工具来进行品质的切换。Liferay-look-and-feel.xml规范由http://www.liferay.com/dtd/liferay-look-and-feel_3_5_0.dtd 定义。
本文采用Liferay Portal默认的品质,不准备对品质的自定义深入探讨。有兴趣的读者可以查看相关资料。
源文地址:http://www.nethref.com/?p=210
分享到:
相关推荐
《Liferay开发文档集合》是针对企业级门户平台Liferay的一系列技术指南,涵盖了从基础安装到高级定制的全方位知识。这些PDF文档旨在帮助开发者、系统管理员和IT专业人员更好地理解和利用Liferay Portal来构建和管理...
本压缩包包含了四个重要的Liferay开发文档,旨在帮助开发者深入理解和掌握Liferay的使用与开发技巧。 文档一:《Liferay Portal Developer's Guide》 这份文档详细介绍了Liferay Portal的开发流程,包括portlet的...
Liferay入门帮助文档是针对Liferay开发的一份指南,它主要涵盖了如何开始使用这个全面的门户解决方案。Liferay是一个基于Java Enterprise Edition (J2EE) 的应用,它整合了多种技术,如EJB (Enterprise JavaBeans) ...
本开发文档集合了多个关键主题,帮助开发者深入理解和掌握Liferay的开发技术。 首先,"liferay_portal6.doc"可能是关于Liferay 6.x版本的详细介绍,该版本是Liferay的一个重要里程碑,引入了许多新特性,如改进的...
Liferay 6.0.5 API 是一套用于开发和扩展Liferay Portal的接口和类库。Liferay Portal是一款开源的企业级内容管理系统,它提供了一整套功能,包括网站构建、社交网络、工作流程以及协作工具等。在Liferay 6.0.5版本...
1. **LifeRay开发参考手册(温兵)**:这是一部由温兵编写的关于LifeRay开发的参考书籍,通常这类手册会包含LifeRay的基本架构、API介绍、部署流程、插件开发等关键信息。温兵可能是一位在LifeRay社区有影响力的专家...
开发者可以利用Eclipse、IntelliJ IDEA等IDE进行Liferay开发,这些IDE有专门的Liferay插件,能简化portlet和主题的创建。此外,了解如何使用Liferay Workspace和Maven进行项目管理也是提升开发效率的关键。 6. **...
Liferay 6.2是一款流行...通过"01-Liferay Portal 6.2 Developer's Guide.docx"和"02-using-liferay-portal-6.2.pdf"提供的官方文档,开发者可以深入学习这些概念和技术,从而更好地利用Liferay构建和维护企业级门户。
此文档会讲解如何创建和部署这些插件,以及如何利用Liferay的API和Service Builder来实现自定义功能。 最后,`liferay_4_extension_environment_guide.pdf`可能是关于Liferay 4.x的扩展环境指南,它可能涵盖了如何...
`hibernateAPI.zip`和`hibernate3.2中文参考文档.chm`是Hibernate的API文档和中文参考,包含类库的详细说明、方法解释、示例代码等,可以帮助开发者快速掌握如何创建实体类、配置映射文件、执行CRUD操作等。...
本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...
这份压缩包包含了"Liferay开发指南(中文)"和"liferay详细介绍(英文)"两个文件,将帮助我们深入了解Liferay的各个方面。 在"Liferay开发指南(中文)"中,你可以找到以下关键知识点: 1. **Liferay架构**:了解...
本资源“liferay 文档与例子”提供了关于Liferay Portal的详细文档和实例,对于学习和掌握Liferay的开发与应用具有极高的价值。 在Java平台上,Liferay Portal提供了丰富的API和工具,使得开发者能够轻松地创建...
本压缩包中的文档可能包含了关于Liferay的安装、配置、开发和管理等相关知识,下面将详细解释Liferay的核心概念和技术要点。 1. **Liferay简介** Liferay是一个基于Java的开源门户框架,它支持portlet(portlet是...
本超学习文档将深入探讨Liferay的核心特性、开发环境、Java技术的应用以及Hibernate在Liferay中的整合。 一、Liferay 框架 Liferay 框架基于Java EE(Enterprise Edition)标准,它提供了丰富的API和工具,允许...
1. **认识Liferay开发平台的价值** - **关于本教程**:教程的目标是帮助开发者了解Liferay的开发潜力,并提供实践指导。 - **开发应用程序**:Liferay支持创建Portlets,这是其核心功能,用于展示各种交互式组件。...
4. **书籍**:市面上有一些专门介绍Liferay开发的书籍,深入探讨各种技术细节。 通过以上步骤,你将能够建立起一个完整的Liferay开发环境,开始你的Liferay开发之旅。不断学习和实践,掌握Liferay的核心技术和最佳...