Liferay Portlet指南(环境搭建)
- 格式:doc
- 大小:549.00 KB
- 文档页数:32
原作者网址:/category/technology-share/li feray/page/2/Liferay是什么?2012年06月11日⁄ Liferay⁄ 评论数1⁄ 被围观497 views+关于LiferayLiferay是一个开源公司,我们一般谈Liferay是指的Liferay Portal。
Liferay Portal始创于2000年的洛杉机,当时是一个非营利性组织。
于2004年建立Liferay公司,今天Liferay的办事处和子公司遍及北美、德国、中国、西班牙和印度等,在全球30多个国家有建立合作伙伴帮助其扩展全球业务。
官方网站(/)Liferay于2011年第三季度发布Liferay 6.1版本,在6.1版本中添加了lifray同步实现文件共享、改善文档库、界面调整、表单和工作流设计器、增强移动设备支持等等诸多功能的完善与修改。
EE版和SE版EE版是企业版,SE版是社区版。
关于企业版和社区版的差异,在Liferay的官方网站上有详细的介绍。
简单的说就是企业版是更稳定、更可靠、有服务支持、收费的版本;社区版是免费的、没有服务支持的、代码是最新的、对稳定必及可靠性不做提供保障的。
社区版可以在Liferay的官方网站上下载到源码和编译后的运行环境等,企业版可以有30天的试用,需要付费后获取源码。
Liferay的市场地位下面对于Liferay的市场地位的评价数据来源于Gartner每年关于垂直门户产品魔力四象限的比较,数据区间为2008年到2011年的。
从以上的数据中可以看到Liferay在近几年的市场地位是逐渐上升,虽然还比不上微软、IBM、Oracle等。
但从2010年开始gartner已经将Liferay列为市场领导者(leaders)的角色里面。
Gartner对于门户产品领导者的定位如下:在此魔力象限的领导者有能力提供全方位的各种门户部署方案,并且已经证明在相当长的时间内能够提供和用户需求相一致的产品,领导者能在为客户提供满意产品的同时提供重要的产品创新,并能够将产品销售给各行业的新客户。
From Elias的个人主页Develop: Liferay开发环境配置说明文档(中国科学院研究生院网络中心)On this page... (hide)1. 文档说明2. 基本环境配置2.1 准备必须的软件,并进行环境参数配置2.2 下载LifeRay程序包2.3 安装和配置基本的Eclipse运行环境3. 基于Tomcat开发Portlet3.1 配置扩展开发环境3.2 添加插件支持3.3 配置数据库和执行Liferay3.4 完成一个最简单的JSP的Portlet4. 改进和调试Liferay自身代码4.1 安装Orion服务器4.2 在Eclipse中配置Orion4.3 修改Orion配置参数4.4 修改Liferay的配置文件4.5 向Orion上部署Liferay系统4.6 另一种调试Portlet组件的方法1. 文档说明本文基于Tomcat开发Portlet的部分根据LifeRay官方的Quick Start文档中“Writing a simple JSP Portlet”章节的内容试验精简而成,依据的文档版本是RC1,日期2006-06-15。
对Liferay自身代码的编译、调试环境则参考了原Liferay 3.6.1版本官方文档的“User Guide”对应章节。
因为本文档对说明文字进行了一些简化,以及官方文档有可能在您读到本文时又有更新,因此仍建议参考官方文档原文,以明确一些细节的意义。
但官方文档也存在一些错误,这里书写的内容对本文指明的各软件的特定版本号是已经试验成功的,因此也建议在读官方文档的时候同时参考本文。
按照本文的步骤完成后,能够建立一个在Windows下的Eclipse工具中开发兼容LifeRay的Portlet组件的基本环境,或者建立一个在Windows下的Eclipse工具对Liferay自身的源代码进行编译、调试、改进的环境。
按照你的需要,不一定要同时配置这两种环境,具体说明可参照对应章节开头的说明文字。
liferay开发文档别人我来让大家下部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改这个是别人地,但是是要收财富值地,哈哈,我来给大家免费纯属个人理解,不确保全部正确,仅供新手参考.一、Liferay地安装与使用目前liferay地最新版本是liferay portal 6.0.5,下载地址:/projects/lportal/ ;这里下载地是liferay与tomcat6绑定地版本,而且自带jdk1.6,下载完后需要做以下几个步骤便可轻松跑起来liferay了.1、下载完后最好找个文件夹专门用来做liferay地工作空间,因为以后好多文件下载,这样方便管理.首先解压liferay-portal-tomcat-6.0.5.zip,解压后其目录结构如下:b5E2RGbCAPliferay-portal-tomcat-6.0.5/liferay-portal-6.0.5/data/目录下放是liferay自带地例子<7coogs)、数据库hsql地脚本及lucene产生地文档.liferay-portal-tomcat-6.0.5/liferay-portal-6.0.5/tomcat-6.0.26/这个就是tomcat地home目录了,里面地结构和一般地tomcat是一样地,在webapps目录中放地就是liferay portal 地应用war包了,其中ROOT是最重要地,你会发现WEB-INF/classes中没有class文件,因为它们被打成jar包放在WEB-INF/lib下了,这样效果也一样.2、liferay中自带hsql数据库,如果你要改其他数据库地话可以在liferay-portal-tomcat-6.0.5/liferay-portal-6.0.5/tomcat-6.0.26/webapps/ROOT/WEB-INF/classes下新建一个portal-ext.properties文件,内容如下(这里用mysql当作例子>: # # MySQL # jdbc.default.driverClassName=com.mysq l.jdbc.Driver jdbc.default.url=jdbc:mysql://localhos t/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false ername=roo t jdbc.default.password=1234其他数据库配置可以参见:/community/wiki/-/wiki/Main/Database+Portal+Properties上面地配置仅仅只是liferay 6.0 之后地方法,与之前地版本还是有不同地,具体地各版本地数据库配置可以参考:/community/wiki/-/wiki/Main/Database+Configuration3、在liferay-portal-tomcat-6.0.5/liferay-portal-6.0.5/tomcat-6.0.26/bin 目录中执行startup.bat,此时就已经启动tomcat了,一般会启动5分钟左右.启动完毕后会自动在浏览器中打开http://localhost:8080,这样你就可以开始访问liferay portal 了.p1EanqFDPw4、登录liferay Portal在打开地浏览器中,点击右上角地login,输入帐号和密码.在这里地输入地帐号密码为email:bruno@password:brunoliferay从5.2之后地版本中都带有一个7cogs.inc公司地示例数据库,所以这里地管理员帐号密码如上.如果删除示例数据库,则账号密码如下:DXDiTa9E3demail:test@password:test5、删除7cogs例子a、在tomcat/webapps下面找到目录sevencogs-hook这个目录,删除掉b、在删除与tomcat平级地data/hsql目录c、重启tomcat,这时地管理员帐号就变为test@/test6、liferay启动地时候日志信息是乱码怎么办?打开liferay-portal-tomcat-6.0.5/liferay-portal-6.0.5/tomcat-6.0.26/conf/ 目录下地logging.properties文件,加上一句java.util.logging.ConsoleHandler.encoding = gbk ,重新启动就行了.RTCrpUDGiT二、搭建liferay地开发环境1、开发方式介绍从6.0 开始提供可eclipse可视化地插件之后就更加地友好,开发一个portlet或者一个hook都只需点点鼠标即可完成,这在官方wiki里面可以找到视频教程.在准备开发之前需要先了解“portlet规范”,然后再看liferay 6 地开发指南,之后再看下面地内容.5PCzVD7HxALiferay 6开发文档下载地址:/view/d8ab5bbd960590c69ec37682.htm ljLBHrnAILgPortlet 规范介绍文档下载地址:/view/e72aeefafab069dc50220181.htm lxHAQX74J0X首先需要下载liferay地sdk<开发环境包)、liferay ide<开发环境地插件).sdk地下载地址:/projects/lportal/files/LiferayPor tal/6.0.5/liferay-plugins-sdk-6.0.5.zip/downloadliferay ide下载地址:/projects/lportal/files/LiferayIDE /1.1.0/liferay-ide-eclipse-updatesite-1.1.0.zip/downloadLDAYtRyKfE安装此插件地时候eclipse要用3.6版本地.在自己地工作目录解压sdk包liferay-plugins-sdk-6.0.5.zip、在eclipse中安装liferay ide.解压sdk后看到其目录结构如下:有ext、hook、portlet等目录中放地是ext、hook、portlet以插件形式开发地文件.要修改一下sdk目录下build.properties文件中运行环境目录,此处使用tomcat,所以修改大约76行修改为类似下地目录地址:app.server.dir=D:/liferay/liferay-portal-6.0.3/tomcat-6.0.26以portlet为例子,里面有build.xml、build-common-portlet.xml、create.bat、create.sh、portlet.zip这5个文件,不用说build.xml、build-common-portlet.xml是ant文件应该都知道,create脚本就是新建一个插件工程,工程目录结构在portlet.zip中.但是现在有了liferay ide后就不用执行脚本创建了,而是直接用eclipse.Zzz6ZB2Ltk这里有liferay ide 地使用方法:/community/wiki/-/wiki/Main/Liferay+IDE+1.1+New+and+Noteworthy.在使用liferay ide地过程中需要配置sdk和与绑定tomcat地目录,这里就不做详细介绍了,就是路径地问题.装完ide后地图示:3、搭建完环境后新建一个liferay plugin project,可以new portlet、Hook<扩展环境)、ext<扩展环境)、theme<主题)、layout<布局)类型地。
Liferay Portlet指南(环境搭建)Liferay Portlet指南一、Liferay扩展环境搭建环境设置一、JDK 1.6.0, JDK 1.5.0 or JDK 1.4.2 1. 点击下一步安装2. 设置环境变量“JAVA_HOME”指向jikes的目录3. 增加“%JAVA_HOME%\\bin”到Path环境变量中二、Jikes 1.22 or Jikes 1.21 1. 解压缩安装包2. 设置环境变量“JIKES_HOME”指向jikes的目录3. 增加“%JIKES_HOME%\\bin”到Path环境变量中三、Ant 1.7.01. 解压缩安装包2. 设置环境变量“ANT_HOME”指向ant的目录3. 增加“%ANT _HOME%\\bin”到Path环境变量中配置扩展环境本指南所使用的liferay版本为4.2.2Step1:解压源代码将liferay源代码解压到任意目录,我们称之为${PORTAL_HOME}。
本指南中,将liferay源代码存放在目录${PORTAL_HOME}\\src下。
Step2:修改release配置文件在${PORTAL_HOME}\\src目录下找到文件release.properties,将其另存,命名为“release.${username}.properties”。
其中${username}就是当前Windows登陆的用户名,可以通过“开始菜单-》运行-》cmd.exe”后显示的默认路径看到,跟在“Documents and Settings”字样后面的就是当前登陆的用户名。
比如配置文件的名称是release.administrator.properties 。
文件的内容如下:修改lp.source.dir属性,来指定liferay源代码所在目录lp.source.dir=${PORTAL_HOME}/src修改lp.ext.dir属性,来指定liferay扩展环境放置目录lp.ext.dir=${PORTAL_HOME}/ext当然可以在源文件release.properties上修改,不过不建议这样做。
配置liferay开发环境说明1.准备文件(假设J2EE环境已配置好)ant部署工具:apache-ant-1.7.0-bin.zip(下面2中用)JIKES工具包:jikes-1.22-1.windows.zip(下面2中用)liferay原码包:liferay-portal-src-4.1.3.zip(下面2中用)liferay运行环境包:liferay-portal-tomcat-jdk5-4.1.3.zip(下面6中用)2.建立目录,并解压以上文件(1).在目录D:\liferay下建立目录文件夹ext和portal,apache-ant-1.7.0 jikes-1.22(2).将“ant部署工具”和“JIKES工具包”解到对应的apache-ant-1.7.0 jikes-1.22目录下(3).将原码文件liferay-portal-src-4.1.3.zip解到portal3.配置环境变量(1).ANT_HOME=D:\D:\liferay\apache-ant-1.7.0(2).JIKES_HOME=D:\liferay\jikes-1.22(3).Path=%JAVA_HOME%\bin;%JIKES_HOME%\bin;%ANT_HOME%\bin4.编译原码文件(1)在运行中用cmd进入D:\liferay\portal目录,执行ant start来编译原码(2)然后在此目录下建release.windows登录用户名.properties文件,并打开该文件写入lp.ext.dir=D:/liferay/ext设置信息后保存(3)然后在当前目录下执行命令:ant build-ext,此时在D:\liferay\ext 目录下生成文件5.进入D:\liferay\ext目录配置(1)将文件app.server.properties名称改为app.server.windows登录用户名.properties,并修改文件中的内容app.server.type=tomcat(2)将文件build.properties名称改为build.windows登录用户名.properties ,并修改内容jsp.precompile=on6.建立tomcat运行环境,并生成部署文件(1)将liferay-portal-tomcat-jdk5-4.1.3.zip运行包解压倒目录D:\liferay\ext\servers\tomcat下,准备好发布运行环境(2)在目录D:\liferay\ext\ext-web下执行ant(3)然后在D:\liferay\ext\ext-ejb下执行ant deploy,此时在该目录生成文件ext-ejb.jar包(4)将该ext-ejb.jar包拷贝到D:\liferay\ext\servers\ tomcat\ webapps\ROOT\WEB-INF\lib下,如存在就覆盖。
准备Liferay版本:6.0.4开发模式:普通插件模式(非Ext)Struts版本:2.1.8.1环境使用到的Struts2相关jar包如下:antlr-2.7.2.jarcommons-fileupload-1.2.1.jar freemarker-2.3.15.jarognl-2.7.3.jarstruts2-core-2.1.8.1.jarstruts2-portlet-plugin-2.1.8.1.jar xwork-core-2.1.6.jar工程目录如下:参考内容参考Struts2自带的portlet示例struts2-portlet-2.1.8.1.war,在Struts 解压包下面的apps目录里面,这个示例是基于Pluto(/pluto/)Apache的Portal实现,但开发的都是portlet,所以可以参考这个。
开发示例代码portlet.xmlXml代码1.<portlet>2.<portlet-name>StrutsPortlet</portlet-name>3.<display-name>Struts Test Portlet</display-name>4.5.<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>6.7. <!--这里的name名字不能修改,value对应于Struts.xml文件里面的配置-->8.<init-param>9.<name>viewNamespace</name>10. <value>/strutsDemoView</value>11. </init-param>12.13. <!-- 对应Struts.xml中设置的默认action -->14. <init-param>15. <name>defaultViewAction</name>16. <value>index</value>17. </init-param>18.19. <init-param>20. <name>editNamespace</name>21. <value>/strutsDemoEdit</value>22. </init-param>23.24. <init-param>25. <name>defaultEditAction</name>26. <value>index</value>27. </init-param>28.29. <expiration-cache>0</expiration-cache>30.31. <!-- 支持view、edit,和前面的portlet一样 -->32. <supports>33. <mime-type>text/html</mime-type>34. <portlet-mode>view</portlet-mode>35. <portlet-mode>edit</portlet-mode>36. </supports>37.38. <portlet-info>39. <title>My StrutsPortlet portlet</title>40. <short-title>SP</short-title>41. <keywords>struts,portlet</keywords>42. </portlet-info>43. </portlet>liferay-portlet.xmlXml代码1.<portlet>2.<portlet-name>StrutsPortlet</portlet-name>3.<instanceable>true</instanceable>4.</portlet>liferay-display.xmlXml代码1.<portlet id="StrutsPortlet"></portlet>Struts.xmlXml代码1.<?xml version="1.0"encoding="UTF-8"?>2.<!DOCTYPE struts PUBLIC3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"4. "/dtds/struts-2.0.dtd">5.6.<struts>7.<package name="strutsDemoView"namespace="/strutsDemoView"extends="struts-portlet-default">8.<action name="index"method="view"class="org.huqiwen.study.StrutsDemo">9.<result name="success">/strutsDemoView/view.jsp</result>10. </action>11. <action name="portletView"method="portletView"class="org.huqiwen.study.StrutsDemo">12. <result name="view">/strutsDemoView/viewMode.jsp</result>13. </action>14. </package>15.16.17. <package name="strutsDemoEdit"namespace="/strutsDemoEdit"extends="struts-portlet-default">18. <action name="index"method="edit"class="org.huqiwen.study.StrutsDemo">19. <result name="success">/strutsDemoEdit/edit.jsp</result>20. </action>21. <action name="portleEdit"method="portletEdit"class="org.huqiwen.study.StrutsDemo">22. <result name="edit">/strutsDemoEdit/editMode.jsp</result>23. </action>24. </package>25.</struts>java文件Java代码1.import com.opensymphony.xwork2.ActionSupport;2.3.public class StrutsDemo extends ActionSupport {4.5. private static final long serialVersionUID = 1L;6.7. private String message;8.9. public String getMessage(){10. return message;11. }12. public void setMessage(String message){13. this.message=message;14. }15. public String view() throws Exception {16. message = "hello Struts2 View Portlet!";17. return SUCCESS;18. }19. public String portletView(){20. return "view";21. }22. public String edit() throws Exception {23. message = "hello Struts2 Edit Portlet!";24. return SUCCESS;25. }26. public String portletEdit(){27. return "edit";28. }29.}strutsDemoView/view.jspHtml代码1.<%@ page contentType="text/html;charset=utf-8"%>2.<%@ taglib prefix="s"uri="/struts-tags"%>3.<h2><s:property value="message"/></h2>4.<s:form action="portletView!portletView.action"method="post"namespace="view">5.<s:textfield label="名字"key="message"></s:textfield>6.<s:submit value="提交"></s:submit>7.</s:form>其他的JSP不写了,和普通的Strtus2开发一样。
LiferayPortal6.0开发环境搭建
Liferay Portal 6.0开发环境搭建
2011-10-14 by 费利明开发工具
1.集成Liferay Portal IDE插件的Eclipse,在线插件安装地址:
/doc/5013765955.html
/tools/ide/eclipse/indigo/stable/
2.Liferay-plugins-sdk插件包,开发portlet、theme、layout、ext、hook等插件项目,下载
地址:/doc/5013765955.html
/zh/downloads/liferay-portal/available-releases
3.Liferay Portal RunTime Server,本环境使用Tomcat,官方有绑定好的,下载地址:/doc/5013765955.html
/zh/downloads/liferay-portal/available-releases
搭建步骤
1.打开集成Liferay Portal IDE的Eclipse
右键new项目有Liferay视图则插件安装成功
2.配置Liferay-plugins-sdk
3.配置Liferay Portal RunTime Server(new Server的时候配置也可以)
指向从官网下载的T omcat,做为运行时服务器
4.New一个Server,指向上面配置的RunTime Server,T omcat 右键new Server
5.启动Tomcat,浏览器访问http://localhost:8080,ok!
6.之后可以在Eclipse下开发各种Liferay Project插件项目了。
Liferay Portal二次开发指南(1)Liferay Portal二次开发指南(1)第一部分Liferay Portal架构解析本部分主要内容Portal服务器Portal容器Portlet 第一章 Liferay Portal作为一个开源Portal产品,Liferay Portal提供对多个独立系统的内容集成,帮助多个组织实现更有效的合作。
与其他商业的Portal产品相比,Liferay Portal有着一系列的优良特性,而且不需要付费。
第一节Portal规范随着Portal的兴起,越来越多的公司开始涉足Portal产品开发,并组建各自的Portal组件和基于其的产品,比如IBM、BEA、MicroSoft、SAP、Apache等。
各个厂商的接口互不兼容,给软件开发商以及开发人员带来诸多不便。
1.1.1 JSR168为此,JCP组织发布了JSR168(Java Specification Request),Portlet Specification V1.0,用来提供不同的Portal和Portlet之间的互通性。
只要开发的Portlet遵循JSR168,则就可以在所有遵循JSR168的Portal上部署运行。
JSR168中定义了Portal的实现规范和接口,并对理想的Portlet进行了详细的规划和描述。
1.1.2 WSRPWSRP是OASIS Web Service for Remote Portlet的缩写。
WSRP是Web Service的一种新的商业应用,一种新的标准,主要用来简化Portal对于各种资源或者程序整合的复杂度,可以避免编程带来的整合麻烦和问题。
而且Portal管理员可以从海量的WSRP服务中选择需要的功能用以整合到目前所用的Portal中。
它有三种角色:①、生产者 提供Portlet②、消费者→使用Portlet③、终端用户→最终用户它的特点在于生产者将消费者所需要的信息通过WSRP返回给消费者,这些信息是相对标记片断,例如HTML、XHTML等,可以直接嵌入用户的页面中,而不用像Web Service一样开发用户端接口。
Liferay研究(一):初步在新Tomcat下部署从现在开始,会把我最近在研究的开源Portal Liferay一些心得贴出来。
研究Liferay版本:Liferay Professional 4.0.0柯自聪兄弟写过一系列的Liferay Portal开发文章,参考/ea moi/。
所以基础性内容,本文不再细说,可参考柯自聪的文章或Blog。
(一)部署Liferay PortletLiferay简单部署一个portlet并不是很复杂,通过WEB-INF目录下的portlet.xm l、liferay-portlet.xml、liferay-display.xml描述即可。
描述portlet.xml portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、re source bundle等普通的初始化信息,包括:portlet-name、display-name、portlet-class、init-param、expiration-cathe、supports、portlet-info、security-role-ref 等等。
其正式的规范请参考:/xml/ns/Portlet/Portlet-app_1_0. xsdliferay-portlet.xml 定义Portlet默认可用的用户组、默认模板、是否支持多个实例等,规范由/dtd/liferay-Portlet-app_3_5_0.dtdliferay-display.xml 定义Portlet默认的所属类别。
Liferay Portal对Portlet实行按类别管理和划分用户权限。
Liferay是基于Struts Template页面模版技术来实现页面的,所以Liferay默认提供了com.liferay.portlet.StrutsPortlet这个Portlet Class来完成Portlet处理的;当然为了简单对普通jsp页面的处理,Liferay也提供了com.liferay.portlet.JSPPortlet等其他Portlet Class。
Liferay 6.0开发指南1. 介绍1、已有的应用集成方法:将应用重写为一个Portlet创建一个简单的Portlet整合应用(一般使用Web Service),可以使用iframe或http 代理(可以使用Liferay's WebProxy portlet)。
已有的应用要像部署门户插件一样,把WAR文件部署到应用服务器里,可以使用控制面板或直接复制的方式完成。
Liferay可以自动创建一个Portlet通过iframe集成已有应用。
2、自定义主题风格(Themes)3、自定义布局模板(Layout Templates)4、自定义或扩展门户功能:Hook plugins)Hook plugins可以用来扩展Liferay的核心功能。
5、高级扩展方式:Ext plugins扩展插件可以允许开发人员修改Liferay的核心部分,可以修改任何一个类。
扩展插件部署之后需要重新启动应用服务器。
Liferay 6.0之后用Ext plugins的开发方式替换了原来的Ext Environment开发方式,这样可以简化部署。
之前的扩展环境可以转换为一个独立的插件。
2. 插件开发工具包(THE PLUGINS SDK)2.1 安装Liferay1、下载Liferay Portal bundled with Tomcat;/downloads2、下载Plugins SDK;3、删除liferay-portal-[version]/tomcat-[tomcatversion]/webapps 除ROOT和tunnel-web目录的其他所有文件夹。
4、打开liferayportal-[version]/tomcat-[tomcat-version]/bin目录,运行startup.bat,启动Liferay。
5、http://localhost:8080,默认帐号/密码:test@/test。
6、设置环境变量ANT_HOME,将$ANT_HOME/bin加入到PATH环境变量中。
Liferay系列文章(六)Liferay应用之配制Liferay Portal缺省只有一个系统管理员用户test,且以用户的电子邮件地址****************为登录用户名,密码是test。
Liferay Portal针对不同的用户会展现出不同的服务网页。
当浏览Portal主页网址时,自动转入网址web/guest/home调出面向所有人的Guest社区公共主页。
一个注册用户登录系统后,可以选择访问不同类型的Portal主页。
这也是Portal同传统网站所不同的地方。
以test用户登录Liferay Portal系统,鼠标移到右上角的“Welcome Test T est!”处调出菜单。
再把鼠标移到“我的地方”,可以看到test用户可以访问的Portal类型有“我的公共”,“T est Organization”,“Test Location”和“Guest”,且每一项又分为“公开页”和“私有页”。
其中“公开页”是其他人可以访问的网页,“私有页”则仅自己或注册用户且经过授权才可访问。
如“我的公共”中的“公开页”可以被所有人访问,而其“私有页”仅用户自己访问。
在每个Portal的主页中可以建立若干个网页,每个网页可以定义为不同的类型:Portlet,Panel,Embedded,Article,URL和Link to Page。
其中Portlet网页是最常用的一类。
在Portlet网页中,可以按照需要布置若干个Portlet插件。
每个Portlet插件实现不同的功能,在独立的小窗口中展现内容。
在Portlet窗口的右上角有5个图标,分别用来设置外观,配置功能属性,设置最小化或最大化显示,或者关闭Portlet窗口。
有权限的用户,可以添加、配置或删除Portlet。
系统的配置是由系统管理员实施的。
以test用户登录后,先进入“我的公共”私有页中,删除不需要的Portlet,只保留“语言”Portlet。
LiferayPortal应用之安装Liferay是当今较为成熟的开源企业级Portal软件产品。
Liferay以纯Java开发,采用了最新的Java技术和架构,提供了功能较强的内容管理器与JSR-168 Portlet容器的有机集成,内嵌了丰富的协同工作组件(Portlets),提供基于CAS和JAAS的单点登录,支持20多种语言,较为完整的技术文档等等,不愧是一款优秀的开源软件。
由于采用了良好的技术架构,在优秀的Java应用服务器的支持下,Liferay能够提供较大型的企业级应用。
使用者还可以对Liferay源码进行修改,通过二次开发添加新的功能,来满足实际生产的需要。
本人将陆续对Liferay Portal在Windows环境下的应用和开发过程进行简略介绍,具体分篇为“Liferay Portal应用之安装”,“Liferay Portal应用之配置”,“Liferay Portal应用之开发”和“Liferay Portal应用之实例”。
本文是“Liferay Portal应用之安装”篇。
一、安装运行环境软件Liferay的运行环境要求JDK 1.5以上的版本。
为了兼容后来的Liferay新版本,建议使用最新的Java版本。
在Java之家网站,我们选择最新的JDK 6(即1.6版本),下载Windows下的JDK 6安装文件jdk-6u7-windows-i586-p.exe。
如果在Windows系统中已经安装了其他版本的Java,你可以继续保留旧版本,也可以先卸载旧版本再安装新版本。
新旧版本共存时,需要配置Windows系统的环境参数来选择实际使用的那个版本。
为了保持系统运行和开发环境的整洁,便于配置管理,建议把Java相关的软件全部安装到C:\Java\目录中,而不是缺省的C:\Program Files\下。
因此,在安装时需要指定JDK 6的安装目录是C:\Java\jdk-1.6\,JRE 6是在C:\Java\jre-1.6\。
1.关于LiferayLiferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了Web服务来支持一些远程信息的获取,使用Lucene实现全文检索功能。
(Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。
Lucene提供了一个简单强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费java资讯检索程式库。
人们经常提到资讯检索程式库,就像是搜寻引擎,但是不应该将资讯检索程式库与网搜索引擎相混淆。
)主要特点如下:1、提供单一登陆接口,多认证模式(LDAP或SQL);2、管理员能通过用户界面轻松管理用户,组,角色;3、用户可以根据需要定制个性化的门户布局;4、能够在主流的J2EE应用服务器上运行;5、支持主流的数据库;6、使用了第三方的开源项目,如Hibernate, Lucene, Struts;7、支持包括中文在内的多种语言;8、采用最先进的技术Java, EJB, JMS, SOAP, XML;9、提供扩展模式下开发;10、提供插件模式下开发;11、多数据库支持;这里我们就是利用Liferay源码通过Ant发布Liferay扩展包进行Portal项目的发布和开发工作。
2.准备工作 2.1 下载Liferay 5.2.3Liferay源码包liferay-portal-src-5.2.3.zipOracle数据文件 liferay-portal-sql-oracle-10-5.2.3.dmp(下载地址:/project/showfiles.php?group_id=49260)2.2 开发工具JDK 1.6 以上;Ant 1.7 以上;Tomcat 6.0 以上;Myeclipse 5.1以上;3.环境配置 3.1 JDK配置(1)JAVA_HOME:JDK的安装目录(2)PATH:把%JAVA_HOME%\bin目录加到path变量(检查JDK是否安装正确,通过“JAVA –version”命令来判断。
A.安装plug-in 插件根据liferay官方的说明,plug-in插件要在如下版本的eclipse中才能安装Eclipse Helios (3.6.0) IDE for Java EE Developers下载地址是/downloads/download.php?file=/technology/epp/downloads/release/helios/R/eclipse-jee-helios-win32.zip 1.首先要在eclipse中Help > Install New Software...进入安装插件的页面,然后点击add按钮。
出现add repository 页面Name 栏中填Liferay IDEurl 栏中填:/tools/ide/eclipse/helios/stable/然后点击ok。
2.在install页面中过一会就会出现liferay tooling 和liferay IDE ,都选中,然后点击next。
然后在下一个页面中点击finish就开始进行安装了,在安装的过程中会出现一个警告,大体内容是本软件包含有未签名的内容,其合法性和真实性没有保证,请问是否继续。
这个不用管,直接点ok就可以继续下去,安装完成后,会有提示框,问是否要重启,选中重启,plug-in IDE 就安装完成了。
如果安装的成功的话会看到如下2个图标。
B.安装sdk1.先下载sdk到本地,进入官方网站下载页面。
/products/liferay-portal/download/ce-vs-ee然后选择plugins sdk进行下载。
2.在eclipes中选择windows -> preferences ->Liferay3.然后在perferenceds页面中选择liferay IDE ,然后点击Install SDKs ,选择add 按钮,然后在new liferay SDK 页面中点击browser按钮,然后选择liferay sdk所在的目录。
Liferay 技巧1.根据自己需要修改liferay jedi主题选择jedi主题,具有下拉菜单,以下为修改部分:1、去除语言转换图,在liferay-jedi-theme\templates下的dock.vm文件中添加注释#* <div class="lang">$nguage()</div>*#2、去除右上角的导航下拉菜单,在文件dock.vm中#*<h2 class="user-greeting"><span>$user_greeting</span></h2>*#3、去除主菜单右上的/和my profile链接,在文件portal_normal.vm中#* <div id="top-menu"><a href="$company_url"></a>#if ($is_signed_in)| <ahref="$themeDisplay.getPathFriendlyURLPublic()/$user.getScreenName()/ profile">#language("my-profile")</a>#end</div>*#4、去除搜索输入窗,在文件portal_normal.vm#*#if ($group_id == $guestGroup.getGroupId())<div class="search">$theme.journalContentSearch()</div>#end#if ($update_available_url)<div class="popup-alert-notice"><a class="update-available" href="$update_available_url">#language ("updates-are-available-for-liferay")</a></div>#end*#5、左上角logo图标文件为custom/logo.png6、右上角下拉菜单我的帐户去除等#*#if ($show_my_account)<li class="my-account"><a href="$my_account_url">$my_account_text</a></li>#end*#7、去除公司logo链接,在文件portal_normal.vm<h1 class="logo">#* <a class="png" href="$company_url">$company_name</a>*#<a class="png">$company_name</a></h1>8、主菜单默认颜色为images\custom\下的bg.png9、ie上的ico图标在images\liferay.ico2.Liferay中如何让无权访问的Portlet隐藏?layout.show.portlet.access.denied=false未验证3.提高liferay性能转载自:/web/wanpeng/blog/-/blogs/777189提高liferay性能By Gavin Wan, On 5/7/08 6:28 AM似乎总能听到liferay性能的抱怨,在一个开源软件中这其实不难理解,就想一台公用的电脑,有人用oracle就在上面装个oracle,有人用DB2就又装了一个DB2…… 这些服务都启动自然就会慢。
一、简单安装1)下载并安装JDK1.51、下载并安装 Windows Platform J2SE(TM) Development Kit 5.0 Update ,下载网址/j2se/1.5.0/download.jsp2、在控制面板 --> 系统 --> 高级选项 --> 环境变量,新增一个用户变量JAVA_HOME 并指向 JDK 的安装目录2)下载并安装Liferay Portal1.下载并安装 Liferay Portal Professional 4.0.0 (Bundled with Tomcatand JDK 5.0), 下载网址/web/guest/download 2.解压缩到一个目录,并确保硬盘上有足够的空间,我们称这个目录为TOMCAT_HOME3)启动TOMCAT到 TOMCAT/bin 目录下,运行 startup.bat 。
你的 Apache Tomcat server 能够编译并运行 Liferay Portal 。
默认情况下,portal 使用自带的 HSQL 数据库。
在浏览器中输入 http://localhost:8080 ,将会看见 portal 首页。
二、专业安装1)下载并安装JDK1.51、下载并安装 Windows Platform J2SE(TM) Development Kit 5.0 Update ,下载网址/j2se/1.5.0/download.jsp2、在控制面板 --> 系统 --> 高级选项 --> 环境变量,新增一个用户变量JAVA_HOME 并指向 JDK 的安装目录2)下载并安装TOMCAT1、下载 apache-tomcat-5.5.17.zip 并解压缩到一个目录,我们称这个目录为TOMCAT 。
3)下载并安装Liferay Portal1、下载 liferay-portal-4.0.0.war, 下载网址/web/guest/download2、解压缩 liferay-portal-4.0.0.war 到 TOMCAT 目录下并改名为 liferay ,然后将 liferay/WEB-INF/lib 下除 util-taglib.jar 外的其他 jar 包剪切到 TOMCAT/common/lib/ext 下3、在 TOMCAT/conf/Catalina/localhost 目录下,删除该目录下已有的文件,然后新建 ROOT.xml 文件(这里的 ROOT 必须是大写)ROOT.xml :< Context path = "" docBase = " ../liferay " debug = " 0 " reloadable = " true " crossContext = " true " >< Resourcename = " jdbc/LiferayPool "auth = " Container "type = " javax.sql.DataSource "driverClassName = " org.hsqldb.jdbcDriver "url = " jdbc:hsqldb:test "username = " sa "password = ""maxActive = " 20 "/>< Resourcename = " mail/MailSession "auth = " Container "type = " javax.mail.Session "mail.transport.protocol = " smtp "mail.smtp.host = " localhost "/>< RealmclassName = " org.apache.catalina.realm.JAASRealm "appName = " PortalRealm "userClassNames = " com.liferay.portal.security.jaas.PortalPrincipal "roleClassNames = " com.liferay.portal.security.jaas.PortalRole "debug = " 99 "useContextClassLoader = " false "/></ Context >4、在TOMCAT/conf目录下,新建jaas.config文件jaas.config :PortalRealm {com.liferay.portal.security.jaas.PortalLoginModule required;};5、修改 TOMCAT/conf 目录下 catalina.properties 文件中的下面一段:common.loader=${catalina.home}/common/classes,${catalina.home}/common /i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/c ommon/lib/*.jar,${catalina.home}/common/lib/ext/*.jar6、修改 TOMCAT/bin 目录下 catalina.bat 文件,增加下面内容:rem ----- Execute The Requested Command---------------------------------------set JAVA_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF8-Duser.timezone=GMT+08-Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config 7、到 TOMCAT/bin 目录下,运行 startup.bat 。
Liferay工作流使用相关文档Liferay Portal 中包含了一个叫Kaleo的工作流引擎。
Kaleo工作流程允许用户定义任意数量的简单到复杂的业务流程/工作流,通过一个门户界面来部署和管理它们。
安装完Kaleo-web插件后,在控制面板中会添加下列菜单项:∙My Workflow Tasks ————我的工作流任务∙Workflow Configuration ————我的提交∙My Submissions ————工作流配置∙Workflow ————工作流Kaleo-web插件默认有一个工作流:Single Approver Workflow。
此工作流要求在发布内容前须经过批准。
使用Liferay的工作流引擎的便利之一是,流程定义中指定的所有角色会在部署时自动创建。
Liferay 的Kaleo工作流定义在一个XML文件中,并通过门户网站的用户来执行。
管理员可以创建许多不同的工作流定义。
我们可以使用工作流中新的用户角色或者使用门户中已经存在的角色来管理审批流程。
工作流定义中的关键部分是asset,states,transitions和tasks。
Asset是指正在被审核和批准的内容。
States表示工作流的阶段,例如,created,rejected或者approved。
Transitions发生在states之间,表示下一个state(状态)是什么。
Tasks是工作流中需要用户操作的步骤。
默认的single approver workflow,箭头表示transitions,方框表示states和tasks。
1、工作流配置(1)、添加工作流页面,选择工作流xml定义文件。
(2)、选择工作流上图中,我们给网页内容这个portlet配置了Single Approver工作流。
配置完之后,我们新增一篇网页内容时,就会启动这个流程。
(3)、以有Writer角色的用户登录门户,进入网页内容,进行添加网页内容操作。
Liferay Portlet指南一、Liferay扩展环境搭建环境设置一、JDK 1.6.0, JDK 1.5.0 or JDK 1.4.21. 点击下一步安装2. 设置环境变量“JA V A_HOME”指向jikes的目录3. 增加“%JA V A_HOME%\bin”到Path环境变量中二、Jikes 1.22 or Jikes 1.211. 解压缩安装包2. 设置环境变量“JIKES_HOME”指向jikes的目录3. 增加“%JIKES_HOME%\bin”到Path环境变量中三、Ant 1.7.01. 解压缩安装包2. 设置环境变量“ANT_HOME”指向ant的目录3. 增加“%ANT _HOME%\bin”到Path环境变量中配置扩展环境本指南所使用的liferay版本为4.2.2Step1:解压源代码将liferay源代码解压到任意目录,我们称之为${PORTAL_HOME}。
本指南中,将liferay 源代码存放在目录${PORTAL_HOME}\src下。
Step2:修改release配置文件在${PORTAL_HOME}\src目录下找到文件release.properties,将其另存,命名为“release.${username}.properties”。
其中${username}就是当前Windows登陆的用户名,可以通过“开始菜单-》运行-》cmd.exe”后显示的默认路径看到,跟在“Documents and Settings”字样后面的就是当前登陆的用户名。
比如配置文件的名称是release.administrator.properties 。
文件的内容如下:修改lp.source.dir属性,来指定liferay源代码所在目录lp.source.dir=${PORTAL_HOME}/src修改lp.ext.dir属性,来指定liferay扩展环境放置目录lp.ext.dir=${PORTAL_HOME}/ext当然可以在源文件release.properties上修改,不过不建议这样做。
Step3:生成扩展环境“开始菜单-》运行-》cmd.exe”,启动命令提示符窗口,进入到${PORTAL_HOME}\src 目录下(因为执行ant命令所需的build.xml在此文件夹下)。
执行以下ant命令,生成扩展环境。
$ ant start$ ant build-extStep4:安装liferay tomcat将liferay tomca解压到任意目录,我们称之为${CATALINA_HOME}。
本指南中,将liferay tomca存放在目录${PORTAL_HOME}\servers\tomcat下。
Step5:修改app配置文件在${PORTAL_HOME}/ext 目录下找到文件app.server.properties,将其另存,命名为“app.server.{username}.properties”。
比如配置文件是app.server.administrator.properties。
用来指向需要发布的liferay tomcat服务器。
修改内容如下:修改app.server.parent.dir属性,来指定服务器的父目录。
app.server.parent.dir=D:/servers/tomcat修改app.server.tomcat.dir属性,来指定服务器所在目录。
app.server.tomcat.dir=${app.server.parent.dir}/tomcat-5.5.17Step6:部署扩展环境“开始菜单-》运行-》cmd.exe”,启动命令提示符窗口,进入到${PORTAL_HOME}\src 目录下(因为执行ant命令所需的build.xml在此文件夹下)。
执行以下ant命令,部署环境。
$ ant deployStep7:建立数据库在${PORTAL_HOME}\src\sql\create目录下找到与你使用数据相对应的.sql文件。
执行该.sql脚本建立数据库。
脚本默认数据名为“lportal”。
Step8:拷贝JDBC Driver将与你使用的数据库相应的JDBC Driver,拷贝到目录${CATALINA_HOME}\common\lib\ext下。
Step9:修改数据库配置文件在${CATALINA_HOME}\conf\Catalina\localhost下,找到文件ROOT.xml。
修改名字为“jdbc/LiferayPool”的<Resource>元素的值,将其设置为与你所使用数据库相应的配置信息。
示例代码如下:<Resourcename="jdbc/LiferayPool"auth="Container"type="javax.sql.DataSource"driverClassName="net.sourceforge.jtds.jdbc.Driver"url="jdbc:jtds:sqlserver://localhost:1433/lportal"username="sa"password="1234"maxActive="20"/>Step10:测试进入到目录${CATALINA_HOME}\bin下,点击“startup.bat”启动Liferay Tomcat服务器。
打开浏览器,访问http://localhost:8080。
点击“Sign In”,利用用户名:test@、密码:test,进入系统。
如果可以正常登录,即环境配置成功。
其他:liferay默认使用的jikes编译器来对Java文件进行编译。
如果想使用JDK来进行编译,就需要修改配置文件。
在ext环境的跟目录下,有个build.properties文件。
将其中piler的值修改为modern。
修改前:piler=jikes修改后:piler=modern转帖请注明出处。
我将陆续发布JSPPortlet、StrutsPortlet、PreferencePortlet、SSHPortlet,开发指南。
本文来自CSDN博客,转载请标明出处:/Pointer_v/archive/2008/10/08/3033181.aspx到这二、Liferay扩展环境目录介绍扩展环境的目录结构如下图:1、/ext-ejb/src在基于二次扩展环境,进行功能开发时。
自己编写的Java代码都放在这个目录下。
2、/ext/downloads存放Ant脚本中可能用到的下载文件。
3、/ext/ext-ear主要存放liferay编译生成的war包及jar等文件.4、/ext/ext-ejb该包是扩展开发环境中最为重要的包之一,开发过程中新开发的所有编译过的.class以及主要的配置文件均存放该包中。
代码结构如下图:其中最为常用的配置文件是:Language-ext.properties:Portlet国际化配置文件。
(具体用法在后续章节中描述)ext-hbm.xml:Hibernate配置文件, 所有对象映射信息都存放于该文件中。
(具体用法在后续章节中描述)ext-spring-professional.xml:Spring配置文件,存放Spring相关配置,目前不会用到ext-spring-enterprise.xml文件。
(具体用法在后续章节中描述)5、/ext/ext-lib存放额外的库文件6、/ext/ext-web当基于liferay二次开发环境进行功能开发时,该目录存放JSP,HTML,图片等WEB相关文件。
该目录是扩展开发环境中最重要的目录之一。
代码结构如下图所示:该目录中也存放了大量的配置文件,其中最为常用的配置文件有:portlet-ext.xml、liferay-portlet-ext.xml、liferay-display.xml:Portlet的配置文件,如果要增加一个Portlet,这三个配置文件都要修改。
(具体用法在后续章节中描述)struts-config.xml、titles-defs.xml:如果要配置Struts Portlet就要用到这两个配置文件。
(具体用法在后续章节中描述)7、/ext/ext-web/tmp文件夹:在部署过程中,ant脚本先解压/ext/ext-ear/modules/portal-web.war 文件,以及拷贝/ext/ext-web/docroot目录下的文件到/ext/ext-web/tmp中,之后在统一发不到Tomcat服务器的相应目录中。
8、layouttpl、themes存放的是页面布局模板和主题包。
自己扩展的布局模板和主题包也是放在该目录下。
本文来自CSDN博客,转载请标明出处:/Pointer_v/archive/2008/10/18/3096039.aspx三、Liferay配置文件Tag标签参考1、IconIcon元素指定了一个在portlet中显示的图片2、Virtual—pathVirual—path 的值指定了一个虚拟路径用于覆盖默认的servlet内容路径.举个例子,假设你的portlet被部署在servlet路径”/test-portlet”. 通过默认值, portal将会返回到”/test-portlet”的servlet内容路径. 你可以通过设置虚拟路径到”/virtual”来覆盖默认路径, portal 就会返回到”/virtual”的servlet内容路径.默认值是””, 这意味着没有使用.3、Struts-path这个选项只在用Liferay Struts Portlet 框架时才有用. 假设struts—path的值是”mail”. 这就告诉了portal说所有的路径为mail/*的请求都在这个portlet’s领域的考虑范围之内.如果用户访问到这个portlet的话,只有路径匹配mail/*的用户请求才被允许访问. 这对于portlet 请求和标准的servlet请求同样适用.4、Configuration-pathConfiguration-path 的值是一个Struts 路径,允许用户配置运行时的portlet.5、Indexer-classIndexer-class的值必须是一个实现com.liferay.util.lucene.Indexer的类,并且被调用来创建,或者更新对于portlet的索引.6、Open-search-classOpen-search-class 的值必须是一个实现com.liferay.portal.kernel.search.opensearch的类, 并且以opensearch1.1的标准来被调用,以获得搜索结果.7、Scheduler-classScheduler-class的值必须是一个实现com.liferay.portal.job.scheduler的类, 并且被调用来确定这个portlet的Schedule Quartz jobs.8、Portlet-url-classPortlet-url-class 的值必须是一个继承了com.liferay.portlet.portleturlimplwrapper 的类.指定这个类来覆盖默认的portlet URL实现.9、Friendly-url-mapper-classFriendly-url-mapper-class 的值必须是一个实现com.liferay.portal.kernel.portlet.friendlyURLMapper的类.如果在portlet之内的内容要使用一个friendly URL 就要使用这个.它的使用例子在MessageBoards portlet中.10、url-encoder-classurl-encoder-class 的值必须是一个实现com.liferay.portal.kernel.servletURLEncoder的类.使用这个来建立一个自定义的URLEncoder,这个URLEncoder 是供RenderResponse 类来使用,用于实现encodeURL方法.在你需要添加自定义的逻辑来重写URLs时这个将会非常有用.11、Portlet-data-handler-classPortlet-data-handler-class 的值必须是一个实现r.PortletDataHandler 的类,并且当归档计划执行时被调用.12、Smtp-message-listener-classSmtp-message-listener-class 的值必须是一个实现了com.liferay.portal.kernel.smtp.MessageListener 的类, 并且当传输电子信件时才被调用.13、Preferences-company-wide如果这个portlet 的参数在整个公司内都可以访问,就将Preferencescompany-wide 的值设定为true,.将这个值设定为true 意味着不能使用preference-unique-layout 和preferences-owned-by-group 的值.默认值是false.例如,管理员可以将这些参数放置于一个声明好的portlet中,这个portlet可以以信息的形式来记录portlet中的参数.这些信息在公司的所有页面中都能访问.这个portlet不能被实例化,因为实例化的portlet有唯一的自增长的portlet id.被封装的声明的portlet的默认的行为将实例化的值设定为true,以便普通用户不能创建公司全局信息.一个更深层的引用将会包括对编辑模式的许可,这种编辑模式是相对于浏览模式来讲,允许管理员设定信息而用户只能浏览信息.14、Preferences-unique-per-layout如果这个portlet 的参数对每个页面都是唯一的,就将Preferencesunique-per-layout的值设定为true..如果将其设定为false,这个portlet的参数将会在所有页面中被访问.默认值是true.15、Preferences-owned-by-group如果这个portlet显示在一个组的页面中并且这个portlet的参数是由这个组来决定的, 就将preferences-owned-by-group的值设定为true. 如果将其设定为false,这些参数将会一直被用户拥有.默认值是true.假设股票portlet 有一个preferences-unique-per-layout, 将其设定为true并且将preference-owned-by-group设定为false.用户可以对于每个个人页面来指定不同的股票列表.也可以对每一个社区页面指定不同的股票列表.假设股票portlet 有一个preferences-unique-per-layout, 将其设定为false并且将preference-owned-by-group设定为false. 用户可以指定一个股票列表可以在所有的个人页面中查看.也可以在一个社区页面指定一个股票列表.假设股票portlet 有一个preferences-unique-per-layout, 将其设定为true并且将preference-owned-by-group设定为true. 用户可以对于每个个人页面来指定不同的股票列表.管理员可以在社区里指定对用户的portlet参数.管理员可以对每一个社区页指定不同的股票列表,这些页面之后可以被社区内的所有用户分享.假设股票portlet 有一个preferences-unique-per-layout 将其设定为false并且将preference-owned-by-group设定为true. 用户可以指定一个股票列表可以通过所有的个人页面来分享. 管理员可以在一个社区页中指定对用户的portlet参数. 管理员可以指定一个股票列表可以通过一个社区的指定页面的所有用户来分享.16、Use-default-template如果portlet使用默认的模板来装饰和包装内容, 就将Use-default-template的值设定为true. 将其设定为false允许开发者组织和编辑portlet的整体输出内容.默认值是true.如果你想要你的portlet与其他portlet不同,或者如果你想要你的portlet输出内容没有边框,这个值就是最常用的方式.17、Show-portlet-access-denied如果用户展示的portlet 有一个不允许的访问信息, 就将Show-portletaccess-denied 的值设定为true, 此信息是由于这些用户不能访问这些portlet.默认值在poral.properties值指定.18、Show-portlet-inactive将Show-portlet-inactive的值设定为true, 如果用户展示的portlet有一个不活跃的信息,如果将其设定为false,如果portlet是不活跃的, 用户将不能显示出这个portlet.默认值在portal.properties中指定.19、Action-url-redirect将Action-url-redirect 的值设定为true, 如果这个portlet 的一个actionURL可以导致自动的重定向.这可以帮助防止重复提交. 默认值是false.20、Restore-current-view将Restore-current-view的值设定为true, 如果当切换至最大化和正常状态,portlet恢复到当前视图时.如果将其设定为false, portlet将会重新设定当前视图,当其切换至最大化和正常状态时.默认值是true.21、Maximize-edit将Maximize-edit的值设定为true, 如果当用户处于编辑状态,portlet正处于最大化状态时.这只影响默认的portal 图标, 并且此时这个图标不是portlet开发者能够编辑的.默认值是false.22、Maximize-help将maximize-help的值设定为true, 如果当用户处于编辑状态, portlet正处于最大化状态时.这只影响默认的portal 图标, 并且此时这个图标不是portlet开发者能够编辑的.默认值是false.23、Pop-up-print将pop-up-print的值设定为true如果portlet正处于弹出状态并且用户正处于打印模式,这只影响到默认的portal图标, 并且此时这个图标不是portlet开发者能够编辑的.默认值是true.24、Layout-cacheable将Layout-cacheable标记设定为true,如果在这个portlet所包含的数据不会改变除非页面布局或者portlet实体改变.25、Instanceable将instanceable的值设定为true, 如果portlet可以在一个页面中显示多次,如果将其设置为false, portlet只在页面中显示其一次. 默认值是false.26、Private-request-attributes将Private-request-attributes的值设定为true, 如果这个portlet不与其他portlet共享请求属性. 默认值是true.27、Private-session-attributes将Private-session-attributes的值设定为true, 如果这个portlet并不与其他的portal共享会话属性.默认值是true.性质”session.shared.attributes”在portal.properties指定了哪一个会话属性可以分享即使private-sessionattributes的值是true.28、Render-weight默认值是1.如果将其设定小于1, portlet就会表现出并行性,如果将其设定为1或者更高, portlet 就会显示出连续性. 拥有一个更高的render-weight 的portlets有更高的优先级,并且在有低级别的render-weight的portlet之前呈现出来.如果ajaxable值设定为false, 最好将render-weight的值设定为 1. 这就意味着如果ajaxable设定为false,ajaxable可以覆盖render-weight的值.29、Ajaxable默认值为true. 如果将其设定为false,portlet将不能通过ajax来显示.30、Header-css设定CSS的相关联的路径,这些css是与portal的页面布局的头有关联的样式.31、Header-javascript设定javascript的相关联的路径,这些javascript是与portal的页面布局的头有关联的.32、Add-default-resource如果将Add-default-resource的值设定为false, porlet并不依附于页面而是动态加载,之后用户会发现他没有权限来查看这个portlet, 如果将Adddefault-resource的值设定为true,默认的portlet资源和权限被添加到页面中.用户可以查看这个portlet.大多数的portlets不受这种影响并且可以从这种灵活性中受益.然而,为了防止安全循环漏洞,默认值是false.33、System将system的值设定为true, 如果portlet是一个系统portlet, 用户不能手动添加portlet到他们的页面中.默认值是false.34、Active将active的值设定为true, 如果portlet是活跃的并且可供用户使用.如果将其设定为false, portlet将会不活跃或者不能让用户获取.默认值是true.这个设定值将会通过管理portlet在运行时改变.35、Include将include 值设定为true 如果portal 会使用这个portlet. 如果将其设定为false, portlet将会不能被portal使用. 默认值是true. 那些无论活跃或者不活跃的portlets,如果它们不包含在portal中,它们将不能被用户使用.由于这些portlets不会在系统中显示出来, 用户将不会知道这些portlet的存在. 这就使得Liferay开发者封装一系列的portlets在一个核心包中, 并且允许自定义的部署方式来开或者关独立的portlets或设定portlets. 这遵循了siebel和microsoft 的捆绑所有在一个核心包中的并且用xml来配置或注册注入来打开或关掉所有特性或一些特性的模式. 我们并不推荐自定义的部署者通过移去具体的portlets来修改核心源文件, 因为这防止了今后的轻松升级.最佳的打开或者关闭portlets的方式就是设定include元素. 这种方式来做事情的优点是变得非常易于部署Liferay. 所有的特性在一个包中都能使用,缺点是并不能优化所有的portlets, 所以你浪费了磁盘空间, 甚至可能导致一个微小的静态的内存印记.然而, 我们认为对于提供一个简单的安装和升级路径来说, 额外的磁盘空间和内存使用是一个很便宜的代价.37、Role-mapperRole-mapper包括两个具体的名称role-name和role-link.role-name值必须是在portlet.xml中定义的一个具体用户.role-link值必须是Liferay用户存在于数据库中.role-mapper元素组织了这些值来映射从portlet.xml的用户到Liferay数据库中的用户. 这是必须的, 因为Liferay用户可能包含spaces无论portlet.xml中的用户包不包含spaces. 这也增加了额外的灵活性, portlet卖主并不需要知道任何关于Liferay’s用户的信息.38、Role-name参见role-mapper元素的简介39、Role-link参见role-mapper元素的简介40、Custom-user-attribute自定义的用户属性包括一些名称,这些名称是用一个自定义的扩展了ccom.liferay.portlet.customuserattributes的类.下载一个简单的关键可部署的portlet WAR 叫test.war. 找到类:com.liferay.portlet.teststruts.teststrutsuserattributes 来观察是否它关联了自定义的用户属性”.test”与值”test name”.可以修改这个类来读取从其他数据库中自定义的用户属性,例如LDAP服务器,或一个web服务.41、Name参见Custom-user-attributer元素的简介42、Custom-class参见Custom-user-attributer元素的简介本文来自CSDN博客,转载请标明出处:/Pointer_v/archive/2008/10/18/3096131.aspx四、JSP Portlet开发JSP Portlet是开发中使用频率最高的开发方式,主要原因有两个:1、当配置好Portlet之后,只需要修改JSP文件。