[Java lista] Freemarker, ismeretlen valtozo tipus

Böszörményi Péter zmblevlist at gmail.com
2008. Júl. 25., P, 08:44:05 CEST


Udv a listanak!

Freemarker sablont hasznalunk, hogy elkuldjuk az esetleges hibakat
emailben, ami a program (web) futasa soran keletkezik. A konnyebb
hibaazonositas vegett a sablonba beletoljuk a request, es a session
attributumokat is. A problema itt lep fel: nem ismert, hogy a level
kuldesenek pillanataban milyen adatok vannak a ket scopeban, es hat
neha elszall a sablon egy Expected number, date, or string. c
evaluated instead to freemarker.template.SimpleSequence on line 3,
column 6 in test.flt. hibauzenettel.

A problemat demonstralo kod:
Configuration conf = new Configuration();
conf.setDirectoryForTemplateLoading(new File("."));

Map<Object, Object> map =new HashMap<Object, Object>();
map.put("a", "b");
map.put("b", null);
map.put("c", Arrays.asList(1, 2, 3));

Template temp = conf.getTemplate("test.flt");

Writer out = new OutputStreamWriter(System.out);
temp.process(map, out);
out.flush();

A sablon:
a: ${a}
b: ${b!"null"}
c: ${c}

Megegyszer felhivnam a figyelmet: a sablon generalasanak idopontjaban
nem ismerjuk, hogy scopeokban milyen adatok vannak, es azok milyen
tipusuak. Mit lehet ebben az esetben tenni? Nem akarom bejarni a
teljes strukturat ilyenkor, eleg lenne, ha csak meg tudnam hivni a
toStringet().

P.


További információk a(z) Javalist levelezőlistáról