Java中作为字符串的Velocity模板

5

我有一个Java字符串,基本上是Velocity模板。

String vt = "#foreach ($number in [1..34])  $number += $number  #end"
String result = *String_vt_calculated_by_Velocity_Engine*;
System.out.println(result);

我该如何在Java中评估上述字符串并获得结果?


你已经说明这是一个_Velocity_模板,因此将该字符串提供给Velocity并获取结果。如何执行此操作应由Velocity文档涵盖。 - Thomas
2个回答

3
你需要使用Velocity.Evaluate,可以查看这个文档来了解更多信息。最初的回答中已经提供了相应的内容。
import java.io.StringWriter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
public class LoadTemplateFromStringTest {

  public static void main(String[] args)  {
       VelocityContext context = new VelocityContext();

       StringWriter sw = new StringWriter();
      String vt = "#foreach ($number in [1..34])  $number += $number  #end";
        Velocity.evaluate( context, sw, "", vt);
        System.out.println(sw);
  }
}

1
你可以将它传递给Velocity.evaluate()(请参见API中的org.apache.velocity.app.Velocity)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接