freemarker模板解析----典型的访问者模式和解释器模式

本文介绍了Freemarker模板解析过程中应用的访问者模式和解释器模式。通过深入理解这两种设计模式,分析了Freemarker如何将模板中的表达式进行解析并赋值。详细探讨了访问者模式和解释器模式的概念,以及它们在Freemarker解析模板过程中的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾这篇文章也快一个小时了,转载请注明出处http://blog.youkuaiyun.com/zhouyuqwert/article/details/8682535微笑


最近因为一些需要,稍微学了下freemarker,基本使用算了解了,本以为模板解析方式同JSP相同,会先解析生成Servlet

再仔细看了下源码,发现还是很大不同的,虽然最终也是解析成HTML,response.write出去,中间思路看了下还是很不错的。

主要用到访问者模式和解释器模式结合来解析freemarker中的表达式,并分别赋值。

先来看看什么是访问者模式,什么是解释器模式,再来分析下freemarker如何使用的。


1.访问者模式

根据GoF描述,主要在为基本固定的一些元素更方便地添加操作的,将数据结构与其操作解耦和。

譬如针对二叉树的遍历时,二叉树节点类型为Element,当访问到这个节点对象时,需要输出操作,即可以将该操作定义到Visitor中,
这样做的好处是,我不用关心是哪个操作,由visitor来定义,当是前序遍历时,传入ConcreteVisitor1来进行一些操作,当是后序遍历
时传入ConcreteVisitor2来进行另外一些操作,而且今后如果还要对中序遍历每个节点要有不同操作,只需增加一个相应操作的ConcreteVisi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值