代码之家  ›  专栏  ›  技术社区  ›  fastcodejava

速度集指令中的新行

  •  3
  • fastcodejava  · 技术社区  · 14 年前

    如何在速度模板中使用set附加新行?这不起作用。

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

    逐字打印\n。

    这样做也不管用:

    VelocityContext context = new VelocityContext();
    context.put("esc", new EscapeTool());
    Velocity.evaluate(context, writer, "LOG", template);
    
    2 回复  |  直到 14 年前
        1
  •  4
  •   serg    14 年前

    你可以使用 $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());
    

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

        2
  •  3
  •   Nathan Bubna    14 年前

    你知道,在现代版本的速度中,你只是把线插入。

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