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)
चर प्रतिस्थापन ठीक से काम करने लगता है, लेकिन नहीं विधि कॉल।
कृपया मदद करें।
धन्यवाद! इससे मदद मिली! मैं एक पीओसी कर रहा था इसलिए मुझे 'असली' वर्ग बनाने से परेशान नहीं था ... – Bennie