快速业务通道

liferay的稍微复杂的一个portlet实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

liferay的稍微复杂的一个portlet实例

时间:2009-11-12 javaeye w2c2y2

一、实例

这里我们采用portal里面代码规范生成机制。对于持久化层和服务层的类都可以自动产生。

我们的portlet功能很简单就是从数据库里面一个表中获取数据,并在页面上显示。

建立业务数据表

在数据库里面新建一个表users,字段userid(varcher),username(varcher),password(varcher).并往表中插入几个条数据。

建立代码模板配置文件

(1)建立service.xml文件

在ext\ext-impl\src\com\ext\portlet 新建一个目录users,在目录下建立一个service.xml文件

文件内容为:

<?xml version="1.0"?> <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 5.1.0//EN" "http://www.liferay.com/dtd/liferay-service- builder_5_1_0.dtd"> <service-builder package-path="com.ext.portlet.users"> <namespace>Users</namespace> <entity name="UsersEntry" local-service="false" remote-service="true" persistence- class="com.ext.portlet.users.service.persistence.UsersEntryPersistenceImpl"> <!-- PK fields --> <column name="userid" type="String" primary="true" /> <!-- Audit fields --> <column name="username" type="String" /> <column name="password" type="String" /> <!-- Order --> <order by="asc"> <order-column name="username" case-sensitive="false" /> </order> </entity> <exceptions> <exception>UsersEntry</exception> </exceptions> </service-builder> <!--package-path是指我们即将建立portlet的上级目录--> <!-- portlet name就是我们新建文件夹名称users,short-name没有作研究不太清楚使用途径--> <!--entity name 是和我们即将建立的和数据库表a_user一一对应实体的类名,可以和数据库表名不同, <!--但为方便起见一般和表名保持一致-->

(2)修改ant文件,增加ant任务

建好service.xml文件后,我们在ext-impl目录下打开build-perent.xml 在

<target name="build-service"> ……. </target>

下面添加任务

<target name="build-service-portlet-users"> <antcall target="build-service"> <param name="service.file" value="src/com/ext/portlet/users/service.xml" /> </antcall> </target>

然后在myexlipse的ant视图里面打开ext-impl目录下的build.xml执行build-service-portlet-user任务。

我们发现在ext-impl\src\com\ext\portlet\users , ext-service\src\com\ext\portlet\users

下面多了几个目录和文件。这是都是系统自动产生的hibernate的实体类和持久化类。

如果我们再细心些也可发现在ext-impl\src\META-INF目录下配置文件都多些内容。

系统已经自动将对应的实体类、持久化类、工具类等配置为相应的javabean、util、service等。

无疑节省了很多时间,而且减少我们人工配置的错误。

打开ext-impl\src\META-INF\ext-hbm.xml,把<class name="com.ext.portlet.users.model.impl.UsersEntryImpl" table="UsersEntry">改为<class name="com.ext.portlet.users.model.impl.UsersEntryImpl&qu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号