云自無心水自閑

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

          Tapestry5.2的新變化

          Posted on 2010-08-18 07:13 云自無心水自閑 閱讀(1077) 評論(0)  編輯  收藏 所屬分類: Java心得體會Tapestry
          Tapestry開發小組中的一個成員的blog中記錄了5.2版本帶來的新變化
          1、增強了class reload的功能(我個人也認為這一點是5.2版本最令人激動的改進),以前Tapestry和其他的web框架類似,修改頁面不需要重新啟動application server, 但是修改了類之后,必須重新啟動應用服務器才行。但是在Tapestry5.2中,對這一點進行了修改,如果只改變了接口的實現類,而不改變接口的方法簽名,就不需要重新啟動應用服務器
          2、新增了若干個組件,比如:Error和Trigger。
          Error和原有的Errors類似,但是Error用于給指定的組件顯示驗證錯誤信息。
          Trigger提供了在瀉染頁面過程中觸發任務事件的功能,常常用于通過RenderSupport來給頁面添加JavaScript代碼
          3、新的插件(Mixin),包括RenderClientId, RenderNotification
          4、集成了JSR-303 Bean的驗證,現在可以在頁面中使用JSR-303標準的注解來給字段指定需要的驗證
          5、新的注解,包括@Contribute,@RequestParameter, @ActivationRequestParameter, 使用后兩個注解能很容易地獲取request中的參數
          6、新的頁面生命周期事件:pageReset
          7、鏈接修飾過程中的新事件: decoratePageRenderLink, decoreateComponentEventLink
          8、頁面解析器的更換,原來使用StAX,造成了對Google App Engine和對OSGI的不兼容,5.2版本中使用了標準的SAX解析器
          9、頁面緩沖池的廢除(我認為這是5.2版本的一個相當大而且也是非常重要的一個變化,我認為頁面緩沖池技術是tapestry學習曲線陡峭的一個重要原因),5.2版本中所有頁面將只有一個實例(也就是lewis howard說的單例化),頁面屬性的值將會在每個線程中使用一個Map來保存。這樣一個頁面實例可以在多個線程中使用,而不會有同步問題。
          但是,由于這是一個新的嘗試,所以lewis也不確定這樣做的效果是否很好(詳見:http://tapestryjava.blogspot.com/2010/07/everyone-out-of-pool-tapestry-goes.html)所以,在5.2中可以通過配置恢復頁面緩沖池的使用。

          主站蜘蛛池模板: 宁国市| 柳江县| 民丰县| 灌云县| 克什克腾旗| 明溪县| 辽宁省| 恩施市| 玛纳斯县| 苍山县| 丘北县| 温宿县| 新宾| 塘沽区| 行唐县| 平利县| 论坛| 娄烦县| 五寨县| 依安县| 宝清县| 教育| 日喀则市| 从江县| 永安市| 白水县| 仙居县| 卓资县| 麟游县| 许昌县| 额尔古纳市| 壤塘县| 江山市| 台湾省| 苍山县| 潍坊市| 水城县| 马关县| 瓮安县| 广汉市| 平利县|