Tapestry最新版5.1.0.5教程(五):Hello示例程序的剖析
Posted on 2009-07-10 20:15 云自無心水自閑 閱讀(4369) 評論(5) 編輯 收藏 所屬分類: Java 、心得體會 、Tapestry
根據前面的4部分內容,我們已經了解了Tapestry的基本概念,掌握了配置、組件等內容?,F在我們通過剖析Tapestry的入門示例來對Tapestry進行一個總體上認識。
1、web.xml
<web-app>
<display-name>app Tapestry 5 Application</display-name>
<context-param>
<!-- The only significant configuration for Tapestry 5, this informs Tapestry
of 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.jar
javassist.jar
log4j.jar
slf4j-api.jar
slf4j-log4j.jar
tapestry5-annotations-5.1.0.5.jar
tapestry-core-5.1.0.5.jar
tapestry-ioc-5.1.0.5.jar
4、再加上一個log4j.properties,這就是一個最簡單的tapestry應用所需要的全部東西了。
怎么樣,感覺還是挺簡單的吧。