云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Tapestry最新版5.1.0.5教程(二)續

          Posted on 2009-06-03 17:17 云自無心水自閑 閱讀(2246) 評論(2)  編輯  收藏 所屬分類: Java 、心得體會 、Tapestry
          1、在Tapestry中,頁面稱之為頁面模板(Page Template)。Tapestry的頁面模板必須是一個Well Formed Xml,需要引入Tapestry的Xml命名空間才能使用Tapestry的組件。示例:<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
          2、在頁面模板中可以使用表達式來獲取變量的值。這種表達式在Tapestry中稱之為:Expansion。
          3、在前一篇文章中已經說過,一個頁面模板必須有一個對應的Java類。在Tapestry中最基本的Expansion就是一個Java類的屬性。比如:${userName}這就是一個在可以在頁面模板中使用的Expansion,為了正確的顯示用戶名,必須在Java類中有一個對應的public String getUserName()這樣一個方法。注意:是一個getter方法,而不必需是public String userName,實際上,如果沒有userName這個屬性,而只有getUserName這個方法,應用將能正確運行。
          4、Expansion是不區分大小寫的,也就是說${userName}和${UserName}是等價的。
          5、使用Expansion,我們不僅可以顯示Java類的屬性,而且可以顯示該屬性的屬性,比如Java類有一個日期型屬性public Date getBirthday();那么,在頁面模板中就可以這樣使用:${birthday.time},相當于調用getBirthday().getTime()
          6、也可以顯示地調用非getter方法:比如:${birthday.hashCode()},Tapestry5.1開始,可以將屬性作為函數調用的參數了。
          7、可以使用?.來調用方法:比如:${birthday?.time},這樣即使birthday是null,頁面也不會報錯。
          8、Tapestry的Expansion是會編譯時生成class文件的,而不是在運行時使用反射來取值的。Tapestry的作者認為這是Tapestry性能優于Struts2的可能(注意:Howard Lewis Ship也只是猜測)原因之一。
          9、Tapestry的Expansion使用的幾個說明:
                  a、Expansion旁邊的空白是會被忽略的
                  b、整數和小數前面可以使用負號
                  c、常數都是使用十進制的。
                  d、字符串需要使用單引號
                  e、可以使用..來表示一個范圍,比如:1..5,表示1到5


          評論

          # re: Tapestry最新版5.1.0.5教程(二)續  回復  更多評論   

          2009-06-04 09:56 by 一農
          看Tapestry的書時,上面有一段是說,Tapestry是java的未來之類的,現在我愈加感覺不到這一點。而實際情況好像也是struts2和jsf現在熱鬧一點。

          # re: Tapestry最新版5.1.0.5教程(二)續  回復  更多評論   

          2009-06-04 17:47 by usherlight
          Tapestry是Java的未來,那是有點言過其實了,但是Tapestry和JSF還是有類似之處的,都是基于組件式的Web框架。但是Struts2借著Struts的名頭,使用人數確實眾多,而且也頗有其獨到之處。
          我個人認為Tapestry最大的問題在于文檔,有人曾經說過,如果要比較兩項技術的好差,只要看Amazon網站的書籍多少就知道了。
          由此可知,文檔的重要性。
          主站蜘蛛池模板: 闸北区| 德安县| 渭源县| 江北区| 广宁县| 阿拉善左旗| 句容市| 明星| 米泉市| 桂东县| 视频| 江源县| 老河口市| 永年县| 齐河县| 龙州县| 金平| 高雄市| 西乌珠穆沁旗| 青州市| 安庆市| 浏阳市| 哈尔滨市| 潜江市| 梅州市| 湖口县| 平乡县| 仁布县| 当阳市| 故城县| 南部县| 肇源县| 淳化县| 五大连池市| 无极县| 昌宁县| 库伦旗| 蕲春县| 永康市| 平顶山市| 探索|