<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如何在Velocity模版中使用static類

    Posted on 2007-05-17 14:52 bluoy 閱讀(2450) 評論(0)  編輯  收藏
    開發要求:
    為了便于維護,頁面端js中的錯誤信息要求不能硬編碼,要根據java端定義的Message對應的常量Key動態獲得。

    按照velocity常規做法,無法用VTL語言使用static類。調查了一下,原來velocity還是提供了變通了的實現方案的,官方論壇上還有就這一問題的爭論--“Add Support for Static Utility Classes”。

     
    基本上集中于兩種思路:static class wrapper 和 put class into context。
    前者就是作一個static class 的托管類,將托管類的實例放到context中。
    1.3.1版中對應實現為org.apache.velocity.app.FieldMethodizer。
    后者的想法是先把static類的Class放到context中,然后模版引擎在碰到Class對象時,優先在java.lang.Class中尋找對應的調用,然后再查找static class的調用。個人感覺這種思路比較好,用戶使用比較簡單直接,不需要額外的wrapper類。但官方好像更鐘情于前者。計劃在未來的1.6版中提供支持。

    附帶遇到的其他限制:
    1. velocity 1.3.1版不能正常處理jdk1.5中的可變參數(Varargs) 特性。可變參數(Varargs) 其實使用對應類型的數組來實現的。velocity會因為匹配不到對應的函數原型而調用失敗。其他版本未作驗證。
    2. velocity 1.3.1版不能正常處理jdk1.5中的enum特性。因為enum其實是按類來對待的。而velocity內部對類的處理是“取得所有的public的Methods”。所以類內部定義的enum類型的常量無法取到。這個處理請參見:org.apache.velocity.util.introspection.ClassMap。
    3. velocity只能調用類/對象的methods, 無法直接使用public的attributs。原因如2。同時可以參照
    Access to public member variable of a class


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


    網站導航:
     
    主站蜘蛛池模板: 成人毛片100免费观看| 无码日韩精品一区二区免费| 日本特黄特色aa大片免费| 亚洲一区二区三区精品视频 | 色妞www精品视频免费看| 色www永久免费视频| 久久久久久久久无码精品亚洲日韩| 激情97综合亚洲色婷婷五| 边摸边吃奶边做爽免费视频99 | 色视频在线观看免费| 一本大道一卡二大卡三卡免费| 亚洲一区二区无码偷拍| 久久aⅴ免费观看| 亚洲国产婷婷六月丁香| 久久青草免费91观看| 亚洲高清中文字幕综合网| 日本妇人成熟免费中文字幕| 亚洲精品国产日韩| 日本一线a视频免费观看| 特黄特色的大片观看免费视频| 亚洲一区爱区精品无码| 午夜免费福利小电影| 亚洲AV无码国产精品色| 亚洲精品国产高清不卡在线| 最近免费中文字幕MV在线视频3 | 国产成人综合亚洲AV第一页| 99久久国产精品免费一区二区 | 中文字幕亚洲日本岛国片| 中文字幕无码免费久久| 精品久久亚洲中文无码| 免费一级毛片免费播放| 久久国产乱子伦精品免费看| 亚洲最大福利视频| 亚洲精品午夜国产VA久久成人| 亚洲一级毛片免费在线观看| 国产成人亚洲午夜电影| 久久亚洲美女精品国产精品| 精品免费久久久久久成人影院| 国产黄在线观看免费观看不卡| 亚洲成a人片在线观看中文!!! | 亚洲国产成人精品女人久久久|