以Tapestry的首頁Home為例,ApplicationServlet收到請求時會建立Engine並叫調用Engine.service(), 在Engine.service()之中會載入application specification,然後找出對應的HomeService並調用HomeService.service(), HomeService.service()之中會以RequestCycle.getPage()取得IPage物件,如果是第一次使用,會再經由 PageSource、PageLoader最後用DefaultTemplateSource讀入HTML樣版,讀取檔案內容時是用 InputStreamReader類別,所以只能使用一種字元集,否則讀入的樣版內容會不正確,另外,可以繼承 DefaultTemplateSource並改寫成從資料庫讀取樣版,這樣要做CMS就方便多了。
文章標籤
全站熱搜
