我們編寫一個在頁面上顯示是“Hello World! ”,我們至少需要編寫一個Page對象和一個對應模板文件(tml)。
第 一步,Page對象編寫
在Tapestry5中Page是與一個頁面對應的POJO對象,它不需要繼承Tapestry框架的任何基類或實現任 何接口,但是隨著我們業務變得復雜Page會增加,在它的內部會增加一些事件處理方法和Annotations(標注)。
作為第 一個運行的首頁面的Page對象命名是有規定的“Start”,當然我們還可以設定成為別的命名“Start”是默認的命名,而且 它必須放在“com.kingbegin.web.pages”包下面,Start.java的代碼如清單所示。
package com.kingbegin.web.pages; public class Start { private String message; public String getMessage() { return "Hello World!"; } }
從程序清單我們message屬性和對message屬性訪問的getMessage方法以備頁面中顯示。
第二步,編寫模板文件
與Page對象Start.java對應的模板文件是Start.tml,它的存放位置有兩個地方一個是與Page對象Start.java放在同一個 包下面<tapestry5-first工程路徑>\src\com\kingbegin\web\pages目錄下,另外一處是放在WEB-INF (<tapestry5-first工程路徑>\WebRoot\WEB-INF)目錄下。Start.tml代碼如清單所示。
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <head> <title>第一個Tapestry頁面</title> </head> <body> <h1> 第一個Tapestry頁面 </h1> <h2 id="label1"> ${message} </h2> </body> </html>
從程序清單Start.tml文件本質是一個XHTML文件,它使用了Tapestry5命名空間—— xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd",在模板文件中還混合有表達式語言 “${message}”,表達式語言可以讀取Page對象數據,此外在模板文件中還會有反映控件的標簽元素,進一步實現與Page對 象的交互。