Новая Линия в директиве набора скорости - PullRequest
3 голосов
/ 08 сентября 2010

Как добавить новую строку в шаблон скорости, используя set?Это не работает.

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

Печатает буквально \ n.

Это также не работает:

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

Ответы [ 2 ]

4 голосов
/ 08 сентября 2010

Вы можете использовать $esc.n или его синоним $esc.newline из EscapeTool для этого:

#set($some = $a + $esc.n + $b)

Как запустить инструменты:

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

Вы можете получить по умолчанию speed-tools.xml из здесь (он также включен в jar инструментов) и включить нужные инструменты.

3 голосов
/ 25 октября 2010

Знаете, в современных версиях Velocity вы просто вставляете разрыв строки.

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