【发布时间】:2013-08-14 14:01:35
【问题描述】:
在Velocity User's Guide 中,在模板中使用方法似乎很简单。 我试过了,但无法让它工作。谁能告诉我我做错了什么?
谢谢。
这是我的代码
@Test
public void testVelocity() {
Velocity.init();
VelocityContext map = new VelocityContext();
map.put("test", "Success");
map.put("ok", "OK!");
map.put("func", new Object() {public String test() {return "Yay!";}});
map.put("func2", new Object() {public String test(String t) {return t+t;}});
String template = "${func.test()} $test $func2.test($ok)";
StringWriter writer = new StringWriter();
Velocity.evaluate(map, writer, "", new StringReader(template));
assertEquals("Yay! Success OK!OK!", writer.toString());
}
这是输出:
org.junit.ComparisonFailure:
Expected :Yay! Success OK!OK!
Actual :${func.test()} Success $func2.test($ok)
变量替换似乎可以正常工作,但方法调用不行。
请帮忙。
【问题讨论】:
标签: velocity