【问题标题】:Velocity template as a String in Java速度模板作为 Java 中的字符串
【发布时间】:2019-03-11 12:25:29
【问题描述】:

我有一个 java 字符串,它基本上是一个速度模板。

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 文档应涵盖如何做到这一点。

标签: java string velocity velocity-template-language


【解决方案1】:

你必须使用Velocity.Evaluate检查这个Document

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);
  }
}

【讨论】:

    【解决方案2】:

    您可以将其传递给Velocity.evaluate()(请参阅API 中的org.apache.velocity.app.Velocity)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多