速度集指令中的新行

时间:2010-09-08 12:41:18

标签: macros velocity

如何使用set在力度模板中追加换行符?这不起作用。

#(set $some = "$a \n $b")

字面打印\ n。

这样做也不起作用:

VelocityContext context = new VelocityContext();
context.put("esc", new EscapeTool());
Velocity.evaluate(context, writer, "LOG", template);

2 个答案:

答案 0 :(得分:4)

您可以使用$esc.n中的$esc.newline或其同义词#set($some = $a + $esc.n + $b)

ToolManager velocityToolManager = new ToolManager();
velocityToolManager.configure("velocity-tools.xml");
VelocityContext context = new VelocityContext(velocityToolManager.createContext());

如何初始化工具:

{{1}}

您可以从EscapeTool获取默认的velocity-tools.xml(它也包含在工具jar中)并启用您需要的工具。

答案 1 :(得分:3)

你知道,在现代版本的Velocity中你只需要换行。

#set( $haslinebreak = "this has
a line break" )