【发布时间】:2021-02-03 13:54:29
【问题描述】:
我正在关注 JMustache 的文档:https://github.com/samskivert/jmustache。它说我们可以调用 java 函数并在 Mustache 模板中使用它们。我有一个像这样的 lambda 函数
Mustache.Lambda lookupInstance = new Mustache.Lambda() {
public void execute (Template.Fragment frag, Writer out) throws IOException {
out.write("<b>");
frag.execute(out);
out.write("</b>");
}
};
然后我有一个像这样引用 lambda 的模板文件
{{#myMethod}} is awesome.{{/myMethod}}
模板的输出如下:
is awesome.
我期待
<b> is awesome.</b>
有人可以帮我弄清楚为什么该方法没有正确执行吗?我一直在尝试调试它很长一段时间。奇怪的是,写入 Writer 的任何内容都被忽略了,而 frag.execute 是唯一有效的东西。该方法对 Writer 有什么作用?它被忽略了吗?是否有不同的引用写入片段内部?
【问题讨论】: