Liferay7.0开发学习(二):创建并部署一个Portlet

参考:http://www.huqiwen.com/2016/05/11/liferay-7-study-2-create-deploy-portlet/

Liferay7.0开发学习(二):创建并部署一个Portlet

2016年05月11日 LiferayLiferay7 评论 2 条 阅读 12,828 views 次

Liferay 7开发环境的搭建可以参考上一篇博客:《Liferay7.0开发学习(一):开发环境搭建

第一步:按着上篇博客的内容,搭建好环境:在做Liferay 7的开发时,需要先创建一个Liferay Workspace Project。

第二步:创建Portlet插件工程,选择New Liferay Module Project。如下图所示:

 

 

在这里我们看到Project Template Name,里面有多个选项,这些选项各是什么意思呢?

1、Portlet:创建了个Portlet工程,这里创建的原生Portlet,Portlet类继承自GenericPortlet(这个类是portlet标准提供的),实现的是原生标准。我们一般也不使用,一般在Liferay开始中使用下面的mvcportlet。

2、mvcportlet:这个创建出来的是一个Liferay的Portlet,和上面的区别是Portlet类继承自MVCPortlet,MVCportlet本身继承自LiferayPortlet,LiferayPortlet继承自GenericPortlet。所以mvcportlet这个是Liferay在原生的基础上做一些封装,让我们有些开发更方便。

3、servicebuilder:创建一个数据库服务模块。和之前版本的ServiceBuilder一样。比如我们现在有一个数据库表叫做学生管理,需要有一个学生表,则创建一个servicebuilder,在这里使用xml生成此表的持久化层代码和业务层代码。

4、其他内容,后面博客介绍。

第三步:点击一下步,在这里输入我们的Portlet类的名称和包名,如下图

 

 

第四步:点击finish,完成工程的创建,现在在我们的Liferay Workpace里面的Moudles里面找到我们刚才创建的工程。如下图,src/main/java里面是后台处理类,在resource里面放的是语言国际化文件和对应的JSP。

 

 

第五步:现在我们做一个操作,从后台传值到JSP,在StudyPortlet里面,我们重写doview类,代码截图如下:

 

 

在VIEW JSP的代码如下,可以使用java小代码和EL表达式进行取值。

 

 

第六步:完成之后,在eclipse里面的Gradle Tasks里面点击deploy进行部署。

 

 

第七步:我们点击了deploy,但是发现其实并没有真正的部署。这个原因在上篇博客里面也说过,默认情况下是打了个jar包在当前工作区下面的bundles\osgi\modules下面生成了相应的jar包,我们可以将此jar包复制到liferay的deploy目录下面进行部署。

自动部署:修改当前worksapce下面的gradle.properties文件,在里面添加

liferay.workspace.home.dir=E:/WorkCode/liferay7/portal

上面的路径为Liferay 7 Portal的路径,注意路径要修改为反斜杠。此时再执行deploy就自动的部署到了Liferay Portal里面。

第八步:进入Liferay 7,使用管理员登录,点击添加-->应用程序-->示例,在这里将我们的portlet拖到界面上。

 

 

止此一个简单的示例就完成了。

 

技巧:

我们发现上面这个部署有点小麻烦,改点JSP的内容甚至都需要点击deploy重新进行。

可以在module上面点击右键,Run As-->Run on server-->选择Liferay 7 tomcat,点击完成。这样就实现了一个热部署发布,我们现在修改JSP的内容,修改后刷新页面就可以看到变化。而不用再执行Gradle Task的deploy。

posted @ 2020-10-12 10:16  溶洞  阅读(309)  评论(0编辑  收藏  举报