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项目,如下 −

选择原型

选择号码或应用过滤器 (format: [groupId:]artifactId, case sensitive contains): : 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

此处,快速入门项目采用选项 5 的版本"5.4.1"。 现在,Tapestry原型一一询问以下信息,如下 −

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

  • 5.2 artifactId − 定义属性"artifactId"的值::Myapp

  • 5.3 version − 定义属性"version"的值:1.0-SNAPSHOT: :

  • 5.4 package name − 定义属性"package"的值: com.example: : com.example.Myapp

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

确认属性配置 −

  • groupId − com.example

  • artifactId − Myapp

  • version − 1.0-SNAPSHOT

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

到这里,您已经成功构建了 Tapestry Quick Start 项目。 使用以下命令移动到新创建的 Myapp 目录的位置并开始编码。

cd Myapp 

运行应用程序

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

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 快速启动应用程序。 本章介绍如何在 Eclipse IDE 中创建框架应用程序。

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

第 1 步:打开 Eclipse IDE

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

打开 Eclipse

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

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

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

Maven 项目

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

配置选项

第 2 步:目录配置

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

远程目录

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

已添加目录

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

Group Id 字段

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

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

更改配置

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

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

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

Jetty 服务器

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

目标选项

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

Jetty 已初始化

第 5 步:在网络浏览器中运行

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

https://loclhost:8080/MyFirstApplication

运行 Web 浏览器

第 6 步:停止 Jetty 服务器

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

停止服务器