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

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

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

    ALL is Well!

    敏捷是一條很長的路,摸索著前進著

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      30 隨筆 :: 23 文章 :: 71 評論 :: 0 Trackbacks
    本文為原創,歡迎轉載,轉載請注明出處BlogJava

    默認情況下,freemarker的變量必須有值,如果沒有被賦值的變量在頁面上使用就會拋出異常,出錯的信息都會顯示在頁面上,讓人感覺不爽(開發時還可以忍忍)。
     
    解決辦法:

    方法一、我們可以在頁面上使用freemarker變量時 以 ${xxx?if_exists} 來處理空值的情況,或采用默認值的方法避免此類問題。但每個freemarker變量都這樣處理確實比較讓人心煩,請看以下方法。

    方法二、在類路徑下 加入 freemarker.properties 文件,里面配置 classic_compatible=true。

    方法三、通過freemarker.template.Configuration的 config.setClassicCompatible(true);通過源碼我們看到,其實方法二、方法三是思想是一致的,只是實現方法不同而已。如果應用中已經存在了 freemarker.properties 并配置了其他的屬性,可以在這里配置,否則推薦使用方法三,畢竟沒有每個應用的配置文件實在是都夠多了。

    方法四、在ftl文件內引入 <!--#setting classic_compatible=true-->。

    其他關于在spring中的配置這里就省略。現在的項目中沒有用到。

    總結:方法四是需要在每個需要這樣處理的頁面都要引入的,比較麻煩,、還是選擇使用 方法二、方法三好了。但是方法二、方法三也不是萬能的。例如我在action中定義一個MyBean類的對象為 myBean,MyBean中有Comp屬性。在頁面上就要 用如下語句使用:${myBean.comp},這里myBean可能為null,comp也可能為null。這時候 就要使用方法一了,${(myBean.comp)!} 或 ${(myBean.comp)?if_exists}。

    posted on 2010-11-17 13:54 李 明 閱讀(2331) 評論(0)  編輯  收藏 所屬分類: Freemarker
    主站蜘蛛池模板: 亚洲国产精品无码久久久不卡| 手机看片久久国产免费| 中文字幕第13亚洲另类| 一级做a毛片免费视频| 亚洲精品国产综合久久一线| 特级无码毛片免费视频| 亚洲日韩VA无码中文字幕| 成年大片免费高清在线看黄| 国产亚洲色视频在线| a级毛片毛片免费观看久潮喷| 亚洲五月综合缴情在线观看| 午夜免费福利视频| 亚洲国产精品线观看不卡| 成人在线视频免费| 视频一区二区三区免费观看| 亚洲中文字幕无码永久在线| 黄色片免费在线观看| 亚洲av产在线精品亚洲第一站| 最近中文字幕无吗免费高清| 国产成人亚洲精品蜜芽影院| 亚洲色婷婷一区二区三区| 久久香蕉国产线看免费| 亚洲性色精品一区二区在线| 免费一看一级毛片人| 18禁在线无遮挡免费观看网站| 亚洲精品美女久久久久| 青青青青青青久久久免费观看| 国产成人无码精品久久久免费| 18gay台湾男同亚洲男同| 女人18毛片水真多免费看 | 亚洲人xxx日本人18| 免费国产成人午夜私人影视| 精品视频一区二区三区免费| 99999久久久久久亚洲| 亚洲高清无码综合性爱视频| 1000部免费啪啪十八未年禁止观看 | 在线成人a毛片免费播放| 久久精品成人免费国产片小草| 亚洲日本在线观看网址| 哒哒哒免费视频观看在线www| 国产精品白浆在线观看免费|