编写您的第一个LIFERAY PORTAL应用程序
在这里,您将逐步学习如何创建项目并将您的应用程序部署到Liferay Portal。
第一个应用程序:构建一个看起来像这样的留言簿应用程序:
图1:您将创建这个简单的应用程序。
默认情况下,它会显示各种用户在您的网站上留下的留言信息。要添加消息,请单击“ Add Entry”按钮。
创建第一个LIFERAY PORTAL应用程序
第一步是创建一个Liferay Module工程。Module是Liferay Portal应用程序的核心构建模块。每个应用程序都由一个或多个Modules组成。每个Module封装应用程序的部分功能,然后多个模块形成一个完整的应用程序。这有很好的理由:Module可以让你随意更换代码实现。这使您的应用程序易于维护和升级。
这些模块是OSGi modules。Liferay Portal中的OSGi容器可以运行任何OSGi module。每个module都打包成一个包含manifest file的JAR文件。manifest是容器识别module所必需的。从技术上讲,只包含manifest的module有效。当然,这样的module不会很有趣。
现在创建第一个module。为了学习目的,将在Liferay Workspace中创建module。按照以下说明创建第一个Liferay module 工程:
- In the Project Explorer in Liferay IDE, right click on your Liferay Workspace and select New→ Liferay Module Project.
- Complete the first screen of the wizard with the following information:
- Enter
guestbook-web
for the Project name. - Use the Gradle Build type.
- Select
mvc-portlet
for the Project Template.
Click Next.
- Enter
- On the second screen of the wizard, enter
Guestbook
for the component class name, andcom.liferay.docs.guestbook.portlet
for the package name. Click Finish.
请注意,IDE可能需要花一段时间才能创建项目,因为Gradle会在项目创建期间下载项目的依赖关系项。一旦完成,会有一个名guestbook-web
的module工程。该mvc-portlet
模板使用适当的依赖关系配置项目,并生成所需文件:
- The portlet class (in the package you specified)
- JSP files (in
/src/main/resources
) - Language properties (also in
/src/main/resources
)
图2:module工程出现在Liferay Workspace的modules
文件夹中。
module工程是一个Portlet应用程序。接下来,将了解Portlet的具体内容。
什么是PORTLET?
访问网站时,您会与应用程序进行交互。应用程序可能很简单:它可能只会显示一条信息,例如文章。也可能很复杂:您可能正在报税,将大量数据输入到应用程序中,以计算是欠款还是应退款。这些应用程序运行在一个平台上。
图3:许多Liferay应用程序可以在同一页面上同时运行。
Liferay Portal提供了这样的一个平台,其中包含现在应用程序所需的常用功能,包括用户管理,安全性,用户界面,服务等等。Portlet是这些基本构建块之一。通常,Web应用程序会占用整个页面。如果你愿意,你也可以在Liferay Portal中这样做。但是,Portlet允许Liferay Portal在同一页面有许多应用程序提供服务。Liferay Portal框架在每一步都会考虑到这一点。例如,平台生成的URL等功能可以支持Liferay在同一页面上为多个应用程序提供服务的能力。
什么是组件?
在Liferay Module Projects 中创建的Portlet生成为组件。如果module(有时也称为bundle)封装了应用程序的各个部分,则组件是包含核心功能的对象。组件是由组件框架或容器管理的对象。组件部署在模块内部,它们根据容器的需要被创建,启动,停止和销毁。一个完美的Web应用程序模型!它只能在需要时才可用,如果不需要,容器可以确保它不使用其他组件所需的任何资源。
在这种情况下,创建了一个声明式服务(DS)组件。使用声明式服务,声明对象是组件,并且定义了一些关于组件的数据,以便容器知道如何管理它。
部署应用程序
生成guestbook-web
工程后不做任何处理,该工程也已做好构建并部署到Liferay Portal的准备。确保您的服务器正在运行,如果没有,请在IDE的“服务器”窗格中选择它并单击开始按钮。启动后,将guestbook-web
项目从Project Explorer 拖放到服务器。如果这是您第一次启动Liferay Portal,您将通过一个简短的向导来设置您的服务器。在此向导中,确保使用默认数据库(Hypersonic)。虽然这个数据库不适合生产使用,但它对于开发和测试很有效。
接下来,检查应用程序在Liferay Portal中是否可用。打开浏览器,导航到门户(默认为http:// localhost:8080),将应用程序添加到页面。要向页面添加应用程序,请单击右上角的添加按钮(它看起来像加号),然后选择应用程序。在应用程序列表中,您的应用程序应显示在示例类别中。它的名字是guestbook-web-module Portlet
。
图4:这是默认的Liferay主页。它包含多个Portlet,包括您创建的Guestbook应用程序的初始版本。
现在您已准备好开始开发您的留言板portlet。