歡迎來到davy的java世界
          愛生活,愛java
          posts - 8,  comments - 6,  trackbacks - 0

          Tapestry 是一個用java寫成的,基于組件的網絡程序框架。Tapestry不僅僅是一個簡單的模板化的系統。Tapestry在Java Servlet基礎上的建立的一個平臺,在平臺上可以建立一個動態的,交互的網站。它不僅僅是一個模板語言,而且是一個真正的框架,利用一些簡單的,可以重用的組件來建立復雜的應用程序。Tapestry在建立網絡程序的時候簡化了很多易錯的工作,例如接受各種任務,比如分發接受到的請求,建立和解釋URL,處理本地化和國際化的問題以及更多。

          對Tapestry的高度評價是"對象,方法和屬性",也就是說,不僅僅使開發者關注Servlet的API:requests, responses, sessions, attributes, parameters, URLs等等,Tapestry使得開發者更關注于對象(包括Tapestry的頁面和組件,而且包括程序的對象),對象的方法以及那些對象的javaBean的屬性。也就是說,在一個tapestry的程序中,用戶的動作(點擊鏈接,提交表單)會導致對象的屬性的變化,這些屬性和用戶支持的方法(包括程序邏輯)組合在一起。

          在Tapestry中,你不需要寫servlet,你只要寫一些Listener方法,你同樣不需要為servlet建立URL,你可以利用一個存在的組件(例如DirectLink)并配置他的listener的參數來調用方法。那么Listener的方法到底做了什么呢?它和后臺系統進行交互(通常是無狀態的session EJB)或者是做一些其他的和request相關的記錄,同時提供給用戶一個新的頁面。基本上是這個servlet的核心代碼。在tapestry中,你不需要寫那些重復的,機械的代碼(例如建立url,分發請求,管理服務器段的狀態等等),因為那些都被tapestry這個框架完成了。

          但是這并不表示Servlet API是不可訪問的,它僅僅是不跟一個典型的tapestry用戶相關。

          本文檔描述了很多tapestry的一些內在的情況。本文不是教程(教程是另外一個單獨的文檔)。事實上,本文檔是給一些tapestry的用戶的指南,目的是給那些想使用tapestry的開發者。

          tapestry目前的版本是 4.0,在過去的十幾年里已經過了長足的發展。Tapestry始終關注于生成動態的html代碼,盡管有大量的軟件支持XHTML XML 和 WML。

          幾乎所有的Tapestry的API都是一接口的形式出現,同時有默認的實現。只要用新的對象取代現有的接口,框架的行為可以被很容易的取代。最平常的例子就是重載一個存貯的頁面和它的組件(也許存貯在數據庫中)。

          最后,Tapestry有值得自豪的完整的JavaDoc的文檔。本文檔是用來支持那份文檔的,來填補那分文檔的一些不明顯的不足。當然JavaDoc是最好的文檔。

          也許理解Tapestry最難的部分就是它是一個以基于組件的,而不是以基于操作的。大多數的技術(Struts,servlets, PHP等等)都是基于操作的。當你建立一個servlet以后,當用戶點擊一個鏈接或者提交一個form的時候機會調用它。你必須選定一個適當的鏈接,和要傳遞參數的名字和類型,這樣你才能在URL中傳遞你所需要的信息。

          對于那些操作(點擊鏈接或提交表單),你同樣必須負責去連接你的外部頁面(不管他們是JSP,servlets, PHP,或者其他形式的模板技術)。這需要你建立URL并且把他們放到一個<a>的標簽中,或者是放在一個<form>標簽的action屬性中。

          tapestry中所有的東西都是不同的。Tapestry程序由頁面組成,頁面是由小的組件構成,組件本身也有可能由其他組件構成。每一個頁面都由一個唯一的名字,頁面中的每個組件都有它唯一的ID...這就是組件模型。同時,每一個組件都有一個地址,可以快速的和URL進行綁定。

          事實上,在“向購物車添加物品”的操作中,你不需要寫servlet,甚至也不用寫組件。你只需要拿一個已有的組件,例如(DirectLink),然后配置它。當這個組件被顯示的時候,它會建立一個回調的鏈接,當你點擊這個鏈接的時候,這個回調鏈接(包括了頁面名稱和頁面內的組件的ID)將會調用組件上的方法,然后這個方法就會調用你的程序制定的Listener方法

          posted on 2005-12-16 16:02 我的java天地 閱讀(738) 評論(2)  編輯  收藏

          FeedBack:
          # re: tappestry網站的翻譯(原創)
          2005-12-16 16:19 | 胡子魚
          今天剛接觸tapestry,準備花兩三天時間用它給客戶搞個網站,不過偶是要用3.0的,不知會不會成功,感覺有點冒險的說,不知4.0和3.0有何區別?  回復  更多評論
            
          # re: tappestry網站的翻譯(原創)
          2005-12-16 16:51 | 我的java天地
          是有點冒險,tapestry開發起始難度較大,也許后期封裝好了會好一點,  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          相冊

          我的友人們呀

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 涿鹿县| 莆田市| 郑州市| 合江县| 临漳县| 晋州市| 农安县| 涡阳县| 卢湾区| 军事| 平塘县| 织金县| 樟树市| 太仓市| 六枝特区| 潮安县| 游戏| 宁安市| 桃园县| 奉化市| 拉孜县| 凤山市| 金湖县| 孝昌县| 高雄市| 富裕县| 全南县| 确山县| 犍为县| 巫溪县| 潜江市| 武宣县| 襄樊市| 新邵县| 封开县| 密山市| 股票| 琼海市| 溆浦县| 宁陵县| 新民市|