我正在尝试使用Apache Velocity Template Engine。我在我的IDE中使用IntelliJ。
这是我在Velocity开发指南中的简单代码:
public class velocityMain {
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("file.resource.loader.path", "~/IdeaProjects/velocity_sample/web");
Velocity.init(props);
VelocityContext context = new VelocityContext();
context.put("foo", "foobar");
context.put("bar", "fooboo");
StringWriter writer = new StringWriter();
Velocity.mergeTemplate("template.vm", context, writer);
System.out.println(" template: " + writer);
String string = "We're using $bar $foo to render this.";
writer = new StringWriter();
Velocity.evaluate(context, writer, "mystring", string);
System.out.println(" string: " + writer);
}
}
这是我的项目视图:
这是template.vm内容:
<!DOCTYPE html>
<html>
<head>
<title>Velocity Test</title>
</head>
<body>
$foo
$bar
</body>
</html>
当我在Tomcat 8上部署应用程序时,template.vm
仅将变量$foo
和$bar
显示为纯文本。似乎来自velocityMain
类的代码甚至不会影响该页面。
IntelliJ还表示不推荐使用方法Vetocity.mergeTemplate()
。
如果有人能帮助我,我会非常感激。