6
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)
変数置換が正常に動作するようだが、いないメソッド呼び出し。
助けてください。
ありがとうございます!それが助けになった!私はPOCをやっていたので、本当のクラスを作ることに気を使わなかった... – Bennie