flush
优质
小牛编辑
127浏览
2023-12-01
概要
<#flush>
描述
当 FreeMarker 生成输出时,它通常不会立即发送到最终接收端
(比如web浏览器或最终的文件),而是会将内容累积在缓冲区,发送一个大块的内容。
缓冲区的精确规则不是由 FreeMarker 决定的,而是由嵌入的软件决定的。
将缓冲区中累积的内容发送出去称为冲洗。尽管冲洗是自动发生的,
有时你想在模板处理时的一点强制执行,这就是 flush
指令要做的。如果需要在确定之处用到它,这是由程序员决定的,而不是设计师。
请注意, flush
告诉嵌入的软件我们想要冲洗,
那么也许就会决定忽略该请求。这不由 FreeMarker 之手控制。
冲洗简单调用当前使用
java.io.Writer
实例的 flush()
方法。
整个缓冲区和冲洗机制由 Writer
(就是传递给
Template.process
方法的参数)实现;
FreeMarker不用来处理它。