zoukankan      html  css  js  c++  java
  • 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包在当前工作区下面的bundlesosgimodules下面生成了相应的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。

  • 相关阅读:
    C#编程思路
    将字符串类型字段转为map类型字段,使用str_to_map()函数
    写hive脚本时,如果hive的过滤条件比较多。可以把过滤条件放到一个参数里。然后把参数放到过滤条件处。这样以后只需要改参数就可以了
    linux中. 路径/文件
    inner join ,left join 会导致数据发散
    如何批量按分区插入数据
    hive表添加字段后,查不出数据是咋回事?
    linux中$0的含义
    linux中的$#含义
    linux的语法
  • 原文地址:https://www.cnblogs.com/show58/p/13801214.html
Copyright © 2011-2022 走看看