Nel numero Velocity User's Guide sembra piuttosto semplice utilizzare i metodi nei modelli. Ho provato, ma non riuscivo a farlo funzionare. Qualcuno può dirmi cosa ho fatto di sbagliato?I modelli di velocità non sostituiscono i metodi
Grazie.
Questo è il mio codice
@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());
}
e questo è l'output:
org.junit.ComparisonFailure:
Expected :Yay! Success OK!OK!
Actual :${func.test()} Success $func2.test($ok)
sostituzioni variabili sembra funzionare bene, ma non chiamate di metodo.
Per favore aiuto.
Grazie! Questo ha aiutato! Stavo facendo un POC quindi non mi sono preoccupato di creare classi "reali" ... – Bennie