常见到有同学问liferay中的ActionRequest与RenderRequest是什么关系,有什么样的区别,我尝试着用我的理解解释一下。
ActionRequest与RenderRequest简介
首先ActionRequest和RenderRequest都是PortletRequest的子类。但是他们两个又是不同的两个对象。
PortletRequest的整个对象结构如下图:
ActionRequest:ActionRequest的作用域是portlet在动作处理阶段,在此阶段中,portlet不知道应该怎么显示他自己...
Cloud not reserve enough space for object heap
在Liferay中执行Builder Service时,有时候会出现下面的错误:
Java Result:1
Cloud not create the Java virtual machine.
Error occureed during initalization of VM
Cloud not reserve enough space for object heap
此问题的原因在编译的时候为JVM分配的内存大于了剩余的物理内存大小。本质原因就是物理内存太小了。解决方法就有两个:
加大物理内在
1、直接升级电脑,添加内存。
2、如果内存够大...
liferay 6.2的更新内容
在写本篇文章的时候,liferay 6.2已经更新到了RC4版本http://sourceforge.net/projects/lportal/files/Liferay%20Portal/,估计6.2正式版发布在即,从sourceforge上面下载了RC4版本,大概体验了也,写一下明显感觉到的6.2的新变化(相对于6.1)。
1、全新的UI,6.2的UI采用bootstrap的风格,进行了完全的重写。同时对AUI的许多组件进行更新,比如日期组件、富文本编辑器,AUI版本在6.2发布时应该会升级到2....
liferay中的文件下载
觉得Liferay中的文件下载其实很简单,所以一直没有特别写相关的内容,其实主要的的内容在前面介绍ajax的时候已经介绍完了,参考《Liferay 6.1开发学习(十):在Liferay中使用Ajax》,但今天在群上碰到有人问文件下载在Liferay中怎么实现,以本篇文章为例简单说明一下。
现在的场景如下,在页面上有一个链接接或按钮,点击之后希望能够下载指定的文件。
portlet的JSP页面的书写
<portlet:resourceURL va...
Liferay 6.1开发学习(二十二):在插件工程中使用kaleo工作流
kaleo是Liferay默认的工作流,此篇文章介绍kaleo工作流的与二次开发的Portlet的集成,kaleo的设计本篇文章不涉及。
Liferay默认情况下并没有安装工作流的插件,需要我们到他的官方市场上下载安装。安装过程这里不描述,以上内容假定已经安装了工作流插件。
工作流的集成步骤
第一步:请确保ServiceBuilder的xml文件中的相应实体包含以下内容,并执行ServiceBuilder
<!-- workflow fields -->
&l...
一些使用Liferay的国内国外网站
收集一些使用Liferay实现的国内的网站,因为有许多是企业内部使用的系统,在这里写的仅限于在外网可以访问的,随便找了一些,不可能将所有的都写完
贵州电网: http://www.gz.csg.cn/
广州白云机场: http://www.gbiac.net/
云南冶金集团:http://www.cymco.cn
云迈软件官网:http://eonmain.com/
云迈软件基于SaaS的CRM:http://example.eonmain.com/
金材物流:http://www.cqjc56.com/
Liferay研究:http...
Liferay 6.1开发学习(二十一):Liferay权限体系简介
Liferay的权限体系几经变动,不同的版本里面有不同的权限结构,现在的Liferay6.1.1版本里面的权限体系,可以算是经过多次进化的版本6,虽然权限体系有不同,但一些基础的概念还是通用的,在介绍Liferay权限体系之前,有一些基本的概念需要了解。
Liferay里面的常用概念
用户(Users)
Users代表系统的物理用户,是人们用来登录系统的用户账号。默认情况下,用户可以获得他们可以管理且具有公共和私有页面...
Liferay 6.1开发学习(二十):Dynamic Query高级查询
在上一篇的博客《Liferay 6.1开发学习(十九):Liferay ServiceBuilder之自定义查询》之中介绍了一部分简单的Dynamic Query方法,可以满足简单的条件查询,但有些场景这样的查询不能满足我们的需求,同时使用HQL可能有稍显麻烦,在这里介绍一些Dynamic Query的高级技巧。(Dynamic Query的查询持续更新到此篇博客)
Group By 查询
在Dynamic Query中实现group by的查询其实非常简单,示例代码如下:
Dy...
Liferay使用管理中的一些常见问题
以前写过一篇:Liferay 6.1开发学习(十八):Liferay开发过程中的一些常见问题,那篇文章主要关注开发过程中的一些问题,此篇文章主要关注管理部分的常见问题,不定期持续更新。
在数据库中删除了数据,在portlet中数据还存在
在Liferay的管理中,有时候我们需要手动的去修改数据库里面的信息,但是修改完成之后,发现在Portlet中的数据并没有改变,这是因为数据库缓存的原因,Liferay默认情况下的取数据...
Liferay 6.1开发学习(十九):Liferay ServiceBuilder之自定义查询
注:本篇博客所讲的代码内容基于前面的CRUD-demo的代码。看此篇文章前,请先阅读以下两篇博客
Liferay6.1简单增删改查示例:http://www.huqiwen.com/2012/11/01/liferay6-1-crud-demo/
Liferay 6.1开发学习(四):Service Builder:http://www.huqiwen.com/2012/09/11/liferay-6-1-development-study-4-service-builder/
在Liferay的二次开发中,经常使用到ServiceBuilder,它为我们生成了数据库操作层、...