Liferay 6.1开发学习(二):创建一个Portlet工程

Liferay7开发系列(四)Portlet Liferay门户中的Web应用程序称为portlet。与许多Web应用程序一样,portlet处理请求并生成响应。在响应中,portlet返回内容(例如HTML、XHTML)以在浏览器中显示。portlet和其他Web应用程序之间的一个关键区别是portlet运行在Web页面的一部分中。 在编写portlet应用程序时,您只需关注该应用程序:页面的其余部分(导航、顶部横幅和界面的任何其他全局... 阅读详情

使用Liferay的SDK创建一个简单的Portlet,此Portlet不包括业务逻辑、不包括数据库,只有简单的页面展现,用以说明Portlet的开发过程。

一、创建Portlet工程

1、打开Liferay IDE,File-->New-->Liferay Project

创建一个Portlet示例

2、为Portlet工程取名为Study,点击完成。或者点击下一步,默认选择Liferay MVC。

补充说明:

Portlet:这个是一般做Liferay开发选择的项目,一般说Liferay插件工程,通常都是指的Portlet工程。他的结构和内容和普通的WEB工程区别不大。

Hook:Liferay的Hook是什么东西呢?这个单词中文可以翻译成钩子。是用于重写或覆盖Liferay的一些默认方法或页面。为开发提供了一种在不直修改Liferay核心源码的情况下修改Liferay核心功能的方法。

Ext:扩展工程的开发方法是Liferay早期版本推荐的开发方法,在6.x版本之后对ext开发模式逐渐不再推荐,主要使用Portlet的开发方法。扩展开发可以继承Liferay的Portal的大部分接口方法,而Portlet里面可以使用的接口方法均是Services包里面暴露的API。但是和Liferay的核心工程耦合太大,当Liferay的版本升级时对Ext工程的影响太大,基本需要重新修改。所以一般不推荐使用Ext模式。

Layout:布局模板,Liferay的布局是可以定制的,如一个页面中是两栏式还是三栏式,每个栏里面又有几行等等,可以使用此模式进行快速开发。

Theme:主题包。Liferay IDE提供的可以帮助开发人员、设计人员快速开发Liferay主题包的功能,通过此模式提供的向导工具等,为主题包的开发大大的提供了便利。

Portlet部署

Liferay的开发大量依赖Ant(也可以使用maven),在Liferay的开过程中,编译、代码生成、打包、部署等都是基于Ant完成的。

1、Liferay 的IDE在Liferay的portlet开发模式下,ant面板默认是可见的,如果找不到可以通过Window-->Show View-->Ant(如果没有可以在other里面找到)

2、在ant页板里面,点击Add-buildfiles将Build.xml文件添加进来。

添加ant文件

3、点击Study-portlet前面的小三角,在出现的下拉菜单里面,双击deploy,等待Liferay完成部署操作。

如果在此时出现如下错误:

Task cannot continue because ECJ is not installed.

ECJ was automatically installed. Please rerun your task.

原因是ECJ包没有找到,ECJ是什么?ECJ, the Eclipse Compiler for Java, is an open source incremental compiler used by the Eclipse JDT. It is an option for Liferay builds and is in many cases faster than Javac or Jikes. The jar for ECJ is included in Liferay release 4.4.0 and later.http://www.liferay.com/community/wiki/-/wiki/Main/ECJ这是官方解释。大概意思是ECJ是一个编译优化包,可以提升比Javac和JIKES更好的编译速度。要想使编译通过,有两个两个方法:

方法一:禁用ECJ。在Liferay的SDK下面找到build.Administrator.properties,此处中间的Administrator名称不一定是这样的,具体体系名称是根据当前系统的用户名生成的。在里面添加如下内容

javac.compiler=modern
#javac.compiler=org.eclipse.jdt.core.JDTCompilerAdapter

方法二:将ECJ的包添加到ant的路径里面。ecj.jar包可以在Liferay的工程的源码包\lib\development下面找到。将此包添加到ant的路径里面。Windows-->preferences-->Ant-->Runtime,在右边的Classpath-->Ant Home Entries(Default) -->Add External JARs,将ecj包添加进来。

4、启动Tomcat。此portlet工程会自动部署。

5、打开http://localhost:8080/,登录系统。点击左上角的添加-->更多-->示例,在这里面可以看到我们刚建立的study portlet,点击添加,可以将此portlet添加到页面上。

添加portlet

Portlet工程结构

一个Portlet工程的大概结构如下:

portlet结构

1、src:这里存储Java相关文件包,后面会看到还有一个services包。

2、web.xml:此web.xml和普通的web工程的web.xml文件一样。

3、build.xml,此文件为ant的构建文件,一般不需要修改继承自SDK。

4、Liferay-plugin-package.properties,此文件为包工程的元数据信息文件,一般开发不需要关注。

5、portlet.xml:portlet定义描述文件,这个文件是标准的portlet 2.0(JSR 268)规范的文件。在这里定义的信息为portlet的名称、初始化参数、模式类型、portlet的相关信息、权限等。在此文件里面我们可以看到view-template对应的的是/view.jsp,当我们在Liferay里面添加此portlet后,看到的页面内容就是view.jsp里面的内容。下面的security-rol-ref定义的是哪些角色拥有此portlet的权限。

6、Liferay-portlet.xml:此文件是liferay扩展的portlet的内容,portlet.xml文件里面是标准的Portlet内容,所有的Portal容器的portlet.xml文件描述、结构都是一样的。但liferay基于自身平台的需求,又添加了一个Liferay-portlet.xml来扩展portlet的信息。在这里可以看到角色映射,以及Liferay的一些个性化信息,后面有需要的时候详细说明。

7、liferay-display.xml:在上一个步骤里面我们在添加portlet的时候,看到study这个portlet是位于示例这个目录下面的,此文件就是定义相关的portlet是放置在哪个目录下面显示的。

说明:

在Liferay里面,portlet的名称一般不要重复,portlet.xml,liferay-portlet.xml,lifray-display.xml这三个文件之间的关联就是通过portlet 名称做标识进行关联。


转自:http://www.huqiwen.com/2012/09/01/liferay-6-1-development-study-2-create-portlet-project/

Liferay 6.0.5开发中文指南 目录 Liferay 6.0.5 开发指南... 1 1.     关于Liferay. 3 2.     Portal和portlet介绍... 4 2.1      portal 规范... 4 2.2      JSR168. 4 2.3      WSRP. 4 2.4      Portal和Portal服务器... 5 2.5 阅读详情

相关推荐

liferay 7.0开发到部署

文章目录一、开发环境搭建1、下载插件2、创建Liferay Project3、创建之后的项目列表、初始化liferay服务三、配置Liferay服务四、创建module五、自定义module六、部署module七、启动服务测试 一、开发环境搭建 软件环境: 必须: liferay-ce-portal-tomcat-7.0-ga5-20171018150113838.zip 说明:Liferay的运行环境。 liferay-ide-eclipse-windows-x64-3.1.2-ga3-20170

小汤圆 2781

liferay_portlet对象详解

详解portlet技术,是帮助你学习进步的好助手哦。快来下载吧

Liferay Portlet开发实战指南

Liferay一个开源的企业门户平台,支持快速开发和部署各种企业级应用程序。它采用模块化的架构,提供丰富的预建应用和组件,便于定制和扩展。Liferay平台包括一个强大、安全且易于管理的内容管理系统(CMS)。Portlet生命周期是控制Portlet从初始化到最终销毁的一系列流程。理解生命周期有助于开发者更好地管理Portlet资源和行为。自定义事件允许Portlet之间的通信,可以触发其他Portlet的Action处理。以下是如何在中配置自定义事件的示例:<初心>......

weixin_31776191的博客 1036

liferay一个简单的portlet

NULL 博文链接:https://123ken123.iteye.com/blog/670927

Liferay 6.1开发学习):在插件工程中使用kaleo工作流

工作流的集成步骤 第一步:请确保ServiceBuilder的xml文件中的相应实体包含以下内容,并执行ServiceBuilder 1. <!--workflowfields--> 2. <columnname="c...

617

java liferay 框架_Liferay 6.1开发学习(六):国际化 | IT人生录

Liferay开发不建议直接在代码中使用中文等内容,建议使用国际化的方式,从资源文件中读取语言等信息,Liferay在平台对封装了许多操作资源文件的类,我们只需要按照此规则既可方便的实现国际化。一、Portlet属性的国际化在前面创建Portlet的时候,portlet的名称等都是英文的,在添加portlet的时候,显示的也是英文的,如何将这些信息显示成中文呢?如将下面Study显示成中文。1...

weixin_34467247的博客 332

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的目录

适己而忘人者,人之所弃;克己而立人者,众之所戴。 3413

Liferay 6.1开发学习):创建一个Portlet工程【转】

一、创建Portlet工程 1、打开Liferay IDE,File-->New-->Liferay Project 2、为Portlet工程取名为Study,点击完成。或者点击下一步,默认选择Liferay MVC。 补充说明: Portlet...

203

java liferay_Liferay 6.1开发学习):创建一个Portlet工程 | IT人生录

胡老师:你好,我创建过程中,workspace的.log报这个错,但sdk的sdk.log提示创建成功。怎么处理,谢谢。详细错误日志见下:!ENTRY org.apache.ivyde.eclipse 1 0 2015-10-03 11:23:05.096!MESSAGE starting IvyDE plugin!ENTRY org.apache.ivyde.eclipse 1 0 2015-1...

weixin_36257759的博客 152

Liferay开发学习1

Liferay 6.1开发学习(一):环境搭建 2012年08月30日 Liferay 评论 13 条 阅读 18,687 views 次 一、资源准备 以下资源内容可以在Liferay的官方网站下载,1-3在http://www.liferay.com/downloads/liferay-portal/available-releases下载,Liferay IDE在h

戈多 4243

LifeRayportlet开发(使用Eclipse)- 想说Hello不容易!

采用NetBeans开发LifeRay Portlet有一定的困难,所以并行的,尝试以Eclipse来开发。这个开发平台有更多的原厂(LifeRay)支持和社区、网络文章支持。 首先是下载。下载如下所示的整合好的Eclipse+LifeRay IDE: 启动Eclipse后,配置LifeRay SDK: 然后配置Liferay运行环境:

qxd100的博客 3388

利用Spring Portlet MVC 开发一个简单的Portlet的全部过程

  1.创建web.xmlcontextConfigLocation /WEB-INF/context/application-context.xml

liuxiIT的专栏 1万+

liferay portlet 开发实例

liferay portlet 开发的例子介绍

Liferay学习笔记()——第一个Liferay例子——Hello World

一个Liferay例子——Hello World1、打开MyEclipse,新建一个Java Project,如:MyLiferay2、在MyLiferay下新建webRoot子Folder,在webRoot下新建WEB-INF子Folder3、右键项目名选择“Build Path—>Configure Build Path”,将Source选项下的Default output folder设置为MyLiferay/webRoot/WEB-INF/classes    如下图:              

Nodin的专栏 5034

[Liferay]基于liferay开发百度地图portlet

liferay version           :  Liferay Portal Community Edition 6.2.0 CEplugin sdk version      : 6.2.0server                      : tomcat 7.0.25db                            : mySql 5.5.21IDE

Paranoid_Android的专栏 1565

[Liferay] Liferay 瘦身,Liferay 精简,取消加载 Portlet

liferay version  :  liferay-portal-6.1.1-ce-ga2 server  : tomcat 7.0.25 Liferay是很庞大,Portal 自带几十个 Portlet, 但是完全可以自己根据需求选择性加载 Portal 自带的 Portlet。 好处就是: 1,启动速度(性能)的提升 2,界面能变得更加简洁,毕竟不需要的 Port

Paranoid_Android的专栏 1751

Liferay Portlet开发实战演示项目

Liferay Portal作为企业级Java门户解决方案,采用OSGi(Open Service Gateway Initiative)作为其核心模块化运行时架构,实现了高度可扩展的插件系统。平台遵循JSR-286和JSR-362 Portlet规范,支持多租户、权限控制、内容管理及单点登录等企业特性。// 示例:一个最简单的MVCPortlet定义},

weixin_35391606的博客 807

Liferay 6.1开发学习(三):Portlet简述【转】

一、Portlet是什么? Portlet是基于java的web组件,由portlet容器管理,并由容器处理请求,生产动态内容。Portals使用portlets作为可插拔用户接口组件,提供信息系统的表示层。作为利用servlets进行web应用编程的下一步,portlets实现了w...

180
上一篇: Liferay 6.1开发学习(一):环境搭建
下一篇: Liferay 6.1开发学习(三):Portlet简述
快乐小左
博客等级 码龄19年 209粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值