我有以下名为exception.vm
的速度模板:
<span class="classname">$s.getClassName().</span>
我将其包含在另一个名为cause.vm
的模板中:
#include("templates/exception.vm")
<span class="classname">$s.getCause()</span>
当我将其与上下文合并时:
Template tm = VelocityUtil.getTemplate("templates/cause.htm");
Context c = new VelocityContext();
c.put("s", new RuntimeException());
StringWriter sw = new StringWriter(100);
tm.merge(c, sw);
$s.getCause()
被正确解释,但$s.getClassName()
未得到解释,并以字面值打印。
为什么会这样?
答案 0 :(得分:5)
使用:
#parse("templates/exception.htm")
而不是:
#include("templates/exception.vm")
#include
包含资源而不解释它。