Portal之LifeRay入门

Portal是在UI层为企业应用提供集成的一种方式.比如在某一个企业中,员工经常要使用一个和HR相关的系统ePerformance进行请假,绩效考评.
同时还要使用一个用来管理客户的系统CRM,用来管理企业产品的系统eInventory,同时还使用一个用来做交流,文档共享的Wiki等等.这个企业的员工要使用ePerformance的时候需要登录到ePerformance,需要使用CRM的时候,又需要登录到CRM,员工使用起来不方便,效率不高.eInventory系统中企业推出新产品的时候,不能在CRM系统中体现出来.Portal正是解决这个问题的答案,Portal在UI层将这些系统集成,为用户提供单点登录,信息聚集,页面定制等功能.iGoogle就是一个针对个人用户很好的例子http://www.google.com/ig
本文通过使用一个开源的Portal容器LifeRay,对Portal开发做一个入门的介绍.
1,安装开发环境,可以参照下面的链接.
http://hu437.iteye.com/blog/719355
http://hu437.iteye.com/blog/721896

2,Portal里的主角是Portlet,Portal页面上的一个个区域正是由Portlet组成的,如下图所示:(图片来源于Portlet in Action)


3,下面来开发一个Portlet项目,在Eclipse中新建一个web项目,目录结构如下:portlet.jar可以从下载的LifeRay的iferay-portal-tomcat-6.x.x.zip解压后的tomcat的lib/ext文件夹里找到.


3.1,HelloWorldPortlet的Java代码:

package com.test.portal;
import java.io.IOException;
import java.io.PrintWriter;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.RenderMode;
public class HelloWorldPortlet extends GenericPortlet {
    @RenderMode(name = "VIEW")
    public void sayHello(RenderRequest request, RenderResponse response)
            throws PortletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("My Hello World Portal");
    }
}
@RenderMode(name = "VIEW")告诉Portal server sayHello方法是render 请求的view模式要调用的方法.

portlet.xml内容:



	
		HelloWorldPortlet
		Hello world
		com.test.portal.HelloWorldPortlet
		
			text/html
			view
		  
		content.Language-ext
	
portlet.xml的内容都是符合Portlet标准规范的内容,包括的可能值有view,edit和help(具体的意思在后续的文章中介绍).
下面的三个文件是LifeRay特有的:
liferay-portlet.xml:



    
        HelloWorldPortlet
        true
        true
    

liferay-display.xml:


 
 	
 		
 	
 
 
language-ext.properties:
category.helloWorld=myPortlets
javax.portlet.title=My Hello world portlet

language-ext.properties中定义的javax.portlet.title指定的值会被LifeRay用来作为Portlet的标题.category.helloWorld定义的值被liferay-display.xml的HelloWorldPortlet以及liferay-display.xml中的的值要和portlet.xml中的
HelloWorldPortlet保持一致.

将项目打包成war文件,拷贝到LifeRay运行环境的liferay-portal-6.0.3\deploy目录中,项目会自动发布到LifeRay Portal server.然后在Portal页面就可以把刚刚开发的portlet加入到页面中.Add-->More-->..Add


刚刚开发的portlet被加入到页面中:


完整的代码可以从http://download.csdn.net/detail/kkdelta/4081523下载


你可能感兴趣的:(Portal_LifeRay)