guofengcn 发表于 2013-2-3 10:36:43

(转载)Tapestry最新版5.1.0.5教程(五):Hello示例程序的剖析

根据前面的4部分内容,我们已经了解了Tapestry的基本概念,掌握了配置、组件等内容。现在我们通过剖析Tapestry的入门示例来对Tapestry进行一个总体上认识。

1、web.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app>    <display-name>app Tapestry 5 Application</display-name>    <context-param>      <!-- The only significant configuration for Tapestry 5, this informs Tapestryof where to look for pages, components and mixins. -->      <param-name>tapestry.app-package</param-name>      <param-value>t5demo</param-value>    </context-param>    <filter>      <filter-name>app</filter-name>      <filter-class>org.apache.tapestry.TapestryFilter</filter-class>    </filter>    <filter-mapping>      <filter-name>app</filter-name>      <url-pattern>/*</url-pattern>    </filter-mapping></web-app>
这就是一个最简单的Tapestry应用所需要配置的内容了。

a. context-param中的tapestry.app-package配置,这在第一部分说过:
    这是Tapestry要求配置的java package的名称,Tapestry相关内容都需要在这个package下面的pages, services, componets子package下。这里的配置是t5demo;
b. TapestryFileter的配置:
    这个非常容易理解,几乎所有现在流行的web框架都需要一个类似的定义。

2、start.tml以及相应的java class,例子中就是t5demo.pages.Start.java
Start.java非常简单,只定义了一个get方法:
public class Start {    public Date getCurrentTime() {      return new Date();    }}
相应的页面start.tml
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">    <head>      <title>app Start Page</title>    </head>    <body>      <h1>app Start Page</h1>      <p> This is the start page for this application, a good place to start your modifications.            Just to prove this is live: </p>      <p> The current time is: ${currentTime}. </p>      <p>            [<t:pagelink t:page="Start">refresh</t:pagelink>]      </p>    </body></html>
首先要注意在html的tag中加入了Tapestry的命名空间。
第二、${currentTime}就是Tapestry的Tag了,这里就会调用对应class的getCurrentTime方法在页面上显示对应的值。
第三、<t:pagelink>定义一个到自己本身页面的链接,来完成刷新的任务。t:pagelink在本系列的第4部分介绍过。

3、需要的library:
commons-codec.jarjavassist.jarlog4j.jarslf4j-api.jarslf4j-log4j.jartapestry5-annotations-5.1.0.5.jartapestry-core-5.1.0.5.jartapestry-ioc-5.1.0.5.jar

4、再加上一个log4j.properties,这就是一个最简单的tapestry应用所需要的全部东西了。

怎么样,感觉还是挺简单的吧。

原文地址:http://www.blogjava.net/usherlight/archive/2009/07/10/286315.html
页: [1]
查看完整版本: (转载)Tapestry最新版5.1.0.5教程(五):Hello示例程序的剖析