freemarker調用java靜態方法以及枚舉

Freemarker渲染視圖採用的是一個 模型+數據 = 頁面  的方式,這也是模板渲染引擎的通用模式,對於freemarker渲染頁面的時候一些特殊的數據格式轉換、隨機數獲取等需求,如果很難通過freemarker本身的標籤完成,可以通過調用java靜態方法來完成。前提是這個方法必須是靜態。允許傳遞參數。

實現這個需求,使用的便是freemarker的BeansWrapper這個類,他借用TemplateHashModel可以從web容器中獲取指定類名的bean並通過傳統的如spring的ModelMap.setAttribute方式傳遞給ModelMap,然後頁面可以根據指明的名稱,使用$符號調用即可。

舉個例子:

 

頁面調用:

 

方法的調用通過反射去執行,但是如果這個方法的參數是一個泛型T怎麼辦呢?如何調用enum呢?

在下面找答案

http://freemarker.sourceforge.net/docs/pgui_misc_beanwrapper.html#beanswrapper_hash

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章