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

Freemarker模板引擎通过BeansWrapper类实现调用Java静态方法,以满足页面特殊数据处理需求。例如,可以将Java类注入到ModelMap,然后在页面上通过$符号调用静态方法。当方法有泛型参数或涉及枚举时,可通过反射进行操作。了解更多详情可参考:http://freemarker.sourceforge.net/docs/pgui_misc_beanwrapper.html#beanswrapper_hash
摘要由CSDN通过智能技术生成

Freemarker渲染视图采用的是一个 模型+数据 = 页面  的方式,这也是模板渲染引擎的通用模式,对于freemarker渲染页面的时候一些特殊的数据格式转换、随机数获取等需求,如果很难通过freemarker本身的标签完成,可以通过调用java静态方法来完成。前提是这个方法必须是静态。允许传递参数。

实现这个需求,使用的便是freemarker的BeansWrapper这个类,他借用TemplateHashModel可以从web容器中获取指定类名的bean并通过传统的如spring的ModelMap.setAttribute方式传递给ModelMap,然后页面可以根据指明的名称,使用$符号调用即可。

举个例子:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值