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 QuickStart项目,如下所示 -

选择原型-

选择一个数字或应用过滤器(格式:[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 

提取快速入门版本号如下 -

Choose a number: 5: 5

此处,QuickStart 项目采用选项 5 的版本“5.4.1”。现在,Tapestry 原型会一一询问以下信息,如下所示 -

  • 5.1 groupId - 定义属性“groupId”的值: : com.example

  • 5.2 artifactId - 定义属性“artifactId”的值::Myapp

  • 5.3 版本- 定义属性“版本”的值:1.0-SNAPSHOT::

  • 5.4 包名称- 定义属性“package”的值: com.example: : com.example.Myapp

现在您的屏幕要求您确认 -

确认属性配置 -

  • groupId - com.example

  • artifactId - 我的应用程序

  • 版本- 1.0-SNAPSHOT

  • - 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:47:23+05:30 
[INFO] Final Memory: 14M/142M 
[INFO] ---------------------------------------------------------------------------------

到这里,您已经成功构建了 Tapestry Quick Start 项目。使用以下命令移动到新创建的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 中创建了一个基本的快速入门项目。要在 Web 浏览器中查看正在运行的应用程序,只需在地址栏中输入以下 URL 并按 Enter 键 -

https://localhost:8080/myapp

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

使用Eclipse

在上一章中,我们讨论了如何在 CLI 中创建 Tapestry Quick Start 应用程序。本章介绍如何在Eclipse IDE中创建应用程序框架。

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

第1步:打开Eclipse IDE

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

打开Eclipse

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

注意- 如果未配置 Maven,则配置并创建一个项目。

选择 Maven 项目后,单击“下一步”,然后再次单击“下一步”按钮。

Maven项目

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

配置选项

第 2 步:目录配置

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

远程目录

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

添加目录

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

组 ID 字段

步骤3:配置GroupId、ArtifactId、版本和包

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

更改配置

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

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

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

码头服务器

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

目标选项

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

码头初始化

第 5 步:在 Web 浏览器中运行

输入以下 URL 以在 Web 浏览器中运行该应用程序 –

https://loclhost:8080/MyFirstApplication

运行网络浏览器

第 6 步:停止 Jetty 服务器

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

停止服务器