原一直使用自己空间的博客,很少将信息都转换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
分享到:
相关推荐
liferay6中文开发文档 包括: Liferay6开发者手册V1.0.doc Liferay+6.0.5开发指南.docx LiferayPortal二次开发指南.pdf Liferay代码研读.pdf liferay-技术文档.doc liferay架构.pdf Liferay开发环境配置说明文档.pdf
liferay开发文档集合7个pdf
liferay开发文档.pdf
Liferay开发文档整理.pdf
包含四个liferay的中文开发文档,个人网上找了很久的。觉得不错,分享一下。要三分不多吧?毕竟有四个文档哦。
Liferay 主题开发 官方文档 中文翻译
liferay_6_开发文档,一个很全面的学习资料,请看看吧,这是别人整理的,我也是借花献佛
liferay portal模板开发文档
配置 和二次开发 详尽描述 是liferay开发的必备手册
liferay6中基于struts的开发文档
Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了Web服务来支持一些远程信息的获取,使用 ...
liferay开发liferay开发liferay开发liferay开发
liferay 6 整理的开发文档,对于新手老鸟都有帮助。
Liferay Portlet 开发文档, 比较全的开发介绍,了解PORTLET 的应用和基本开发, 熟悉Lifery IDE 开发。
非常适合想要学习liferay的人,有案例步骤详细
liferay portal 6文档,使用说明
包括liferay的用户配置,系统接口,包括Liferay Portal 6 企业应用开发,Liferay 用户开发接口,Liferay+in+Action,Liferay 系统开发等
liferay 开发技术 框架技术 你值得拥有
liferay 6.0.5 api ducument