freemarker调用java静态方法以及枚举

来源:互联网 发布:网络信息收集组织 编辑:程序博客网 时间:2024/05/20 04:28

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

 

原创粉丝点击