RE: is it possible to maintain a foreach directive after a VelocityEngine.evaluate()?

"John McNair" <[email protected]>
Newsgroups gmane.comp.jakarta.velocity.user
Message-ID <1e8001cd2704$b881f710$2985e530$@com>
I'm not above faking it :)

-----Original Message-----
From: Nathan Bubna [mailto:[email protected]] 
Sent: Monday, April 30, 2012 3:06 PM
To: Velocity Users List; [email protected]
Subject: Re: is it possible to maintain a foreach directive after a
VelocityEngine.evaluate()?

No, i don't think there's a way to do that automatically without customizing
your velocity build.  But you can fake it:

#set( $h = '#')
#set( $d = '$' )
#foreach( $element in $object1.elements )

#end
#if( !$object1 )
${h}foreach( ${d}element in $object1.elements )

${h}end
#end

On Mon, Apr 30, 2012 at 11:44 AM, John McNair <[email protected]> wrote:
> Hi,
>
>
>
> I have an oddball case where I need a multi-stage Velocity template 
> evaluation.  That is, image a pipelined process where:
>
>
>
> -          Task one grabs a Velocity template, adds some (but not all) 
> items to the Context, evaluates, and sends the partially resolved 
> output as input to task two
>
> -          Task two adds some (but not all) items to the Context,
evaluates.
>
>
>
> I know I can have variables like ${object1.member1} that will be 
> preserved in the output after evaluate() if object1 is not resolved, 
> however, is it possible to maintain a foreach directive after an
evaluation:
>
>
>
> ## preserve this 'foreach' in the output if object1 is not resolved
>
> #foreach( $element in $object1.elements )
>
> #end
>
>
>
> Thanks in advance,
>
> John
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.