Beetl模板引擎的使用及GroupTemplate核心类源码解析
时间:2024-04-23 18:58:14来源:Lwgzc手游网作者:佚名我要评论 用手机看
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
本文首发于公众号:腐烂的橘子
Beetl是一款Java模板引擎,被广泛应用于公司项目中。它的作用在于编写通用代码时,处理一些差异化的逻辑。通过将这些差异化的逻辑写入模板中,程序可以直接调用,实现了代码的低耦合。
有人可能会问,为什么差异化的东西不能通过配置实现呢?原因在于配置只能将一些差异化的值抽离出来,而一些复杂的逻辑很难通过配置实现。举例来说,假设有一个类似计算器的界面,用户可以对一些业务字段进行公式计算:
-
分润 = 利息 * 0.2
-
分润 = (利息 + 罚息) * 0.1
程序在计算这个表达式之前,并不知道表达式的具体内容,只是希望能够由业务传入利息、罚息等字段上下文信息后,自动计算出结果。这时使用Beetl模板,我们可以将上面的公式用Beetl表达式表示:
-
<%print(interest * 0.2);%>
-
<%print((interest + penalty) * 0.2);%>
这样,代码中就不需要感知具体公式内容了,直接写通用逻辑即可:
public static void main(String[] args) throws IOException {
// 用户输入的公式
String formula = "xxxx";
// 计算结果的上下文参数
HashMap param = new HashMap();
// 核心代码
GroupTEMPlate gt = new GroupTemplate(new StringTemplateResourceLoader(), Configuration.defaultConfiguration(););
Template template = gt.getTemplate(formula);
template.binding(new HashMap());
// ans 就是计算的结果
String ans = template.render();
}
热门手游下载
热门文章
热门手游推荐
换一批
- 1
加查之花 正版
- 2
爪女孩 最新版
- 3
企鹅岛 官方正版中文版
- 4
捕鱼大世界 无限金币版
- 5
球球英雄 手游
- 6
内蒙打大a真人版
- 7
烦人的村民 手机版
- 8
跳跃之王手游
- 9
蛋仔派对 国服版本
- 10
情商天花板 2024最新版