velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Novakowski <m...@pandora.com>
Subject Re: Extracting a list of keys from a string based template
Date Thu, 20 Jul 2006 21:43:04 GMT
Thanks!  The only situation where this might not work is if you  
access a key within an #if block that evaluates to false, i.e.

#if ($foo)
	$bar
#end

If there is no "foo" in your context when you do the evaluate, I'm  
guessing that it doesn't go ahead and get "bar" from the context.

Marc


On 20-Jul-06, at 2:35 PM, Nathan Bubna wrote:

> Hey, i think that's a good idea!  That would work without need to have
> a Template object and AST for the TemplateTool to analyze. (In other
> words, it could work with VelocityEngine.evaluate() and no need to
> mess with resource loaders for those who don't need/care about them).
> I really can't imagine why this wouldn't work.
>
> If you/anyone tries this, i'd love to hear how it works out for them.
> Perhaps they could even contribute the context wrapper they come up
> with? ;-)
>
> On 7/20/06, Marc Novakowski <marc@pandora.com> wrote:
>> Here's an idea - to get the keys from the template, you could use the
>> decorator pattern to create a wrapper around the context object.
>> Have the "get()" and "containsKey()" methods in your wrapper keep
>> track of the keys that are being looked up by velocity during the
>> evaluate.
>>
>> I haven't tried it, but I think it might work...
>>
>> Marc
>>
>>
>> On 20-Jul-06, at 4:01 AM, Smith, Mike H wrote:
>>
>> > Hi,
>> >
>> >
>> >
>> > I'm a Velocity newbie, and am evaluating to see if it can  
>> address our
>> > relatively simple requirements.
>> >
>> >
>> >
>> > I need to use String based templates. After a bit if digging  
>> around I
>> > found the following function:
>> >
>> >
>> >
>> > Velocity.evaluate( context, writer, "", templateString );
>> >
>> >
>> >
>> > This works pretty well for our purposes.
>> >
>> >
>> >
>> > However I also need to get a list of candidate keys from the  
>> template
>> > String.
>> >
>> >
>> >
>> > So if my template contains: "$a $b" I need to extract ["a","b"].
>> >
>> >
>> >
>> > Thanks.
>> >
>> > Mike
>> >
>> >
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: velocity-user- 
>> help@jakarta.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Mime
View raw message