cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robby Pelssers" <robby.pelss...@ciber.com>
Subject RE: JXTemplate forEach assigns entire list to current
Date Sat, 19 Feb 2011 17:52:45 GMT
For all I know you're using the forEach incorrect.

<jx:forEach select="#{$cocoon/parameters/initSources}" varStatus="status">
  <jx:out value="#{$status/current}"/>
</jx:forEach>

should be

<jx:forEach items="${cocoon/parameters/initSources}" var="element">
  <jx:out value="${element}"/>
</jx:forEach>

Unless you really intended to show the varStatus?!

Kind regards,
Robby Pelssers

-----Oorspronkelijk bericht-----
Van: Peter Molnar [mailto:mpdev@nanasoft.hu]
Verzonden: za 19-2-2011 16:42
Aan: users@cocoon.apache.org
Onderwerp: Re: JXTemplate forEach assigns entire list to current
 
On 02/19/2011 03:52 PM, Peter Molnar wrote:

I have realized, that through the sitemap, I cannot pass a variable as a 
list, because it is cast to a String, thus my "list" only had one element.

I have built a string from the elements, and used a Jexl expression to 
re-split the string into a list. Ugly, but works.

> I have a forEach tag in my template, which behaves oddly. The variable
> comes from an InputModule, which returns a List<String>, then it is
> referenced as a parameter in the sitemap, which is passed to the
> jxtemplate transformer. I would like to print each string as a line on
> the output.
>
> However, when I print #{.}, it prints the entire list, and the loop
> quits after one iteration, regardless of the size of the list. When I
> try Jexl syntax, it doesn't print anything. I am clueless.
>
> Output is like this:
>
> [value1, value2, ... ]
>
> Here's the sitemap:
>
> <map:match pattern="report.html">
> <map:generate type="jx" src=".../templates/report.xhtml">
> <map:parameter name="initSources" value="{skarabExt:initSources}"/>
> </map:generate>
> <map:serialize type="html"/>
> </map:match>
>
> Here is the template:
>
> <jx:forEach select="#{$cocoon/parameters/initSources}" varStatus="status">
> <jx:out value="#{$status/current}"/>
> </jx:forEach>
>
>
> I am using cocoon 2.2.0 and cocoon-template-impl 1.1.0 from Maven.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org



Mime
View raw message