Re: How to generate the output for a given java collection object
Rajvinder Pal <[email protected]>
| Newsgroups | gmane.comp.web.freemarker.user |
|---|---|
| Message-ID | <[email protected]> |
I tried the below one. but i am getting error:-
<#list itemMap?keys as key>${key}<#list itemMap[key] as item>${item}</#list></#list>
error:-Java backtrace for programmers:
----------freemarker.template.TemplateException
at freemarker.core.TemplateObject.invalidTypeException(
at freemarker.core.DynamicKeyName.dealWithNumericalKey(
at freemarker.core.DynamicKeyName._getAsTemplateModel(
at freemarker.core.Expression.getAsTemplateModel(
at freemarker.core.IteratorBlock.accept(
at freemarker.core.Environment.visit(
at freemarker.core.MixedContent.accept(
at freemarker.core.Environment.visit(
at freemarker.core.IteratorBlock$Context.runLoop(
at freemarker.core.Environment.visit(
at freemarker.core.IteratorBlock.accept(
at freemarker.core.Environment.visit(
at freemarker.core.Environment.process(
at freemarker.template.Template.process(
at org.raj.ComplexMap.main(: Expected number, sequence, or string. itemMap evaluated instead to freemarker.template.SimpleHash on line 2, column 14 in complexMap.ftl.TemplateObject.java:135)DynamicKeyName.java:125)DynamicKeyName.java:90)Expression.java:89)IteratorBlock.java:94)Environment.java:210)MixedContent.java:92)Environment.java:210)IteratorBlock.java:167)Environment.java:417)IteratorBlock.java:102)Environment.java:210)Environment.java:190)Template.java:237)ComplexMap.java:56)
From: Daniel Henrique Alves Lima <[email protected]>
To: Rajvinder Pal <[email protected]>; FreeMarker-user <[email protected]>
Sent: Friday, September 23, 2011 7:28 AM
Subject: Re: [FreeMarker-user] How to generate the output for a given java collection object
I would try something like
[#list (itemMap?keys) as key]
${key} [#list (itemMap[key]) as item]${item}[/#list]
[/#list]
But I'm not sure if FM supports integers as hash keys.
Rajvinder Pal wrote:
Hi ,
>
>Following is my java object 'itemMap'.And i want to generate the output as given below
>
>Map<Integer, Set<String>> itemMap = newHashMap<Integer, Set<String>>();
>//id 1
>Integer i1 = newInteger(1);
>Set<String> itemSet1 = newHashSet<String>();
>itemSet1.add("A");
>itemMap.put(i1, itemSet1);
>//id 2
>Integer i2 = newInteger(2);
>Set<String> itemSet2 = newHashSet<String>();
>itemSet2.add("B");
>itemSet2.add("C");
>itemMap.put(i2, itemSet2);
>//id 3
>Integer i3 = newInteger(3);
>Set<String> itemSet3 = newHashSet<String>();
>itemSet3.add("D");
>itemSet3.add("E");
>itemMap.put(i3, itemSet3);
>System.out.println(itemMap);
>
>Expected output:
>
>1 A
>2 B C
>3 D E
>
>Could anyone let me know how can i generate this using freemarker template?
>
>Thanks,
>Rajvinder
>
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
FreeMarker-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemarker-user