[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