Apache Tapestry 快速入门


Tapestry 安装完成后,让我们使用 Maven 创建一个新的初始项目,如下图所示:

$ mvn archetype:generate -DarchetypeCatalog=http:// Tapestry.apache.org

你可以看到如下所示的响应:

[INFO] Scanning for projects... 
[INFO] 
[INFO] --------------------------------------------------------------------------------- 
[INFO] Building Maven Stub Project (No POM) 1 
[INFO] ---------------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > 
generatesources @ standalone-pom >>> 
[INFO]  
[INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) 
< generatesources @ standalone-pom <<< 
[INFO] 
[INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom --- 
[INFO] Generating project in Interactive mode 
[INFO] No archetype defined. Using maven-archetype-quickstart 
(org.apache.maven.archetypes:maven-archetype-quickstart:1.0)

Maven构建完所有操作后,选择archetype进行创建 Tapestry 5 快速入门 项目如下:

选择原型

  • https://tapestry.apache.org → org.apache.tapestry:quickstart(Tapestry 5 快速启动项目)

  • https://tapestry.apache.org → org.apache.tapestry:tapestry-archetype (Tapestry 4.1.6 Archetype)

选择一个数字或应用过滤器(格式:[groupId:]artifactId,包含区分大小写)::1

现在你将得到如下所示的响应:

Choose org.apache.tapestry:quickstart version: 
1: 5.0.19
2: 5.1.0.5 
3: 5.2.6 
4: 5.3.7 
5: 5.4.1 

提取 QuickStart 版本号如下:

Choose a number: 5: 5

此处,QuickStart 项目采用选项 5“5.4.1”的版本。现在,Tapestry archetype 将以下信息一一询问如下:

  • 5.1 groupId :定义属性'groupId'的值::com.example

  • 5.2 artifactId :定义属性'artifactId'的值::Myapp

  • 5.3版本 :定义属性'version'的值:1.0-SNAPSHOT: :

  • 5.4 包名 : 定义属性'package'的值:com.example: : com.example.Myapp

现在你的屏幕要求你确认:

确认属性配置:

  • groupId : com.example

  • 工件 ID : Myapp

  • version : 1.0-快照

  • package : com.example.Myapp

验证所有属性并使用如下所示的选项确认更改:

 Y: : Y 

你会看到如下所示的屏幕。

[INFO] ---------------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: quickstart:5.4.1 
[INFO] ---------------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example 
[INFO] Parameter: artifactId, Value: Myapp 
[INFO] Parameter: version, Value: 1.0-SNAPSHOT 
[INFO] Parameter: package, Value: com.example.Myapp 
[INFO] Parameter: packageInPathFormat, Value: com/example/Myapp 
[INFO] Parameter: package, Value: com.example.Myapp 
[INFO] Parameter: version, Value: 1.0-SNAPSHOT 
[INFO] Parameter: groupId, Value: com.example 
[INFO] Parameter: artifactId, Value: Myapp 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/test/java 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/main/webapp 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/main/resources/com/
example/Myapp 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/test/resource 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/test/conf 
[WARNING] Don't override file /Users/workspace/tapestry/Myapp/src/site 
[INFO] project created from Archetype in dir: /Users/workspace/tapestry/Myapp 
[INFO] --------------------------------------------------------------------------------- 
[INFO] BUILD SUCCESS 
[INFO] --------------------------------------------------------------------------------- 
[INFO] Total time: 11:28 min 
[INFO] Finished at: 2016-09-14T00现在,选择 Maven → Maven 项目选项。23+05:30 
[INFO] Final Memory: 14M/142M 
[INFO] ---------------------------------------------------------------------------------

至此,你已成功构建 Tapestry 快速启动项目。移动到新创建的位置 Myapp 使用以下命令创建目录并开始编码。

cd Myapp 

运行应用程序


要运行骨架项目,请使用以下命令。

mvn jetty:run -Dtapestry.execution-mode=development

你得到一个这样的屏幕,

[INFO] Scanning for projects... 
[INFO] 
[INFO] ---------------------------------------------------------------------------------
[INFO] Building Myapp Tapestry 5 Application 1.0-SNAPSHOT 
[INFO] ---------------------------------------------------------------------------------
........ 
........ 
........ 
Application 'app' (version 1.0-SNAPSHOT-DEV) startup time: 346 ms to build IoC 
Registry, 1,246 ms overall.  
 ______                  __             ____ 
/_  __/__ ____  ___ ___ / /_______ __  / __/ 
 / / / _ `/ _ \/ -_|_-</ __/ __/ // / /__ \
/_/  \_,_/ .__/\__/___/\__/_/  \_, / /____/ 
        /_/                   /___/  5.4.1 (development mode)   
[INFO] Started SelectChannelConnector@0.0.0.0:8080 
[INFO] Started Jetty Server

到目前为止,我们已经在 Tapestry 中创建了一个基本的 Quick Start 项目。要在网络浏览器中查看正在运行的应用程序,只需在地址栏中输入以下 URL 并回车:

https://localhost:8080/myapp

Here, myapp 是应用程序的名称,开发模式下应用程序的默认端口是 8080。

使用 Eclipse


在上一章中,我们讨论了如何在 CLI 中创建 Tapestry 快速启动应用程序。本章介绍如何在 Eclipse IDE .

让我们使用 Maven 原型来创建骨架应用程序。要配置新应用程序,你可以按照以下步骤操作。

第 1 步:打开 Eclipse IDE

打开 Eclipse 并选择 File → New → Project... → 选项,如以下屏幕截图所示。

Open Eclipse

现在,选择 Maven → Maven 项目选项。

注意 :如果没有配置Maven,那么配置并创建一个项目。

选择 Maven 项目后,单击 Next 并再次单击 Next 按钮。

Maven Project

之后,你将看到一个屏幕,你应该在其中选择配置选项。配置完成后,你将看到以下屏幕。

Configure Option

第 2 步:目录配置

第一步完成后,你应该点击 添加远程目录 .然后添加以下更改,如以下屏幕截图所示。

Remote Catalog

现在,添加了 Apache Tapestry 目录。然后,选择过滤选项 org.apache.tapestry quickstart 5.4.1,如下所示。

Added Catalog

然后单击下一步,将出现以下屏幕。

Group Id Field

第三步:配置GroupId、ArtifactId、版本和包

将以下更改添加到 Tapestry 目录配置。

Changes Configuration

然后单击 Finish 按钮,现在我们已经创建了第一个骨架应用程序。第一次使用 Maven 时,项目创建可能需要一段时间,因为 Maven 会为 Maven、Jetty 和 Tapestry 下载许多 JAR 依赖项。 Maven 完成后,你将在 Package Explorer 视图中看到一个新目录 MyFirstApplication。

第 4 步:使用 Jetty 服务器运行应用程序

你可以使用 Maven 直接运行 Jetty。在 Package Explorer 视图中右键单击 MyFirstApplication 项目,然后选择 Run As → Maven Build...,你将看到如下所示的屏幕。

Jetty Server

在配置对话框中,输入目标选项为“jetty:run”,然后单击运行按钮。

Goals Option

初始化 Jetty 后,你将在控制台中看到以下屏幕。

Jetty Initialized

第五步:在浏览器中运行

键入以下 URL 以在 Web 浏览器中运行应用程序 -

https://loclhost:8080/MyFirstApplication

Run Web Browser

第 6 步:停止 Jetty 服务器

要停止 Jetty 服务器,请单击控制台中的红色方形图标,如下所示。

Stop Server