commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kelvin Tan <kelvin-li...@relevanz.com>
Subject Re: [jelly] velocity->jelly mapping for #set
Date Mon, 09 Dec 2002 10:27:35 GMT
Thanks James.

What about Velocimacros then? :) OK, as you've probably figured by 
now, I'm wondering how to convert my existing Velocity-base app to 
Jelly...

Let's see. 

#set -> <j:set>
#include and #parse roughly -> <j:import>
#macro really REALLY approximately -> <j:define> yes? I guess coupled 
with <j:scope> too.

Is there scope above the script level, like global macros in 
Velocity? What about separation between inline and global script 
definitions...

Its simple enough to define tag libraries which replace some VMs, but 
not all, I should think, or am I wrong here? Perhaps there's a need 
for a Velocity -> Jelly migration doc...:) 

Kelvin


On Sat, 7 Dec 2002 11:43:57 -0000, James Strachan said:
>Hi Kelvin
>
>You're understanding is correct. Both
>
><j:set var="foo" value="1"/>
>
>or
>
><j:set var="foo" value="${1}"/>
>
>or
>
><j:set var="foo">1</j:set>
>
>should all work.
>
>Bear in mind though that there is currently a bug in Jexl with
>${foo.size()}. Right now the following works ${size(foo)} -
>hopefully this bug in Jexl will get fixed soon.
>
>To see the <j:set> tag in action you could take a look at the
>JellyUnit test case
>
>http://cvs.apache.org/viewcvs/jakarta-commons-
>sandbox/jelly/src/test/org/apa
>che/commons/jelly/suite.jelly?rev=HEAD
>
>James -------
>http://radio.weblogs.com/0112098/ ----- Original Message -----
>From: <kelvin-lists@relevanz.com> To: <commons-
>user@jakarta.apache.org> Sent: Friday, December 06, 2002 3:53 AM
>Subject: [jelly] velocity->jelly mapping for #set
>
>
>I'm trying to figure out how the #set velocity directive maps to a
>jelly expression.
>
>In Velocity, we're accustomed to using in our templates
>
>Example 1 #set ($foo = 1) ${foo} (formal notation) $foo
>
>or
>
>Example 2 ${foo.size()} ## $foo is a vector placed into the context
>
>
>Looking at the core taglibs, I tried Ex 1 using
>
><j:set var="foo" value="1"/>, <j:set var="foo" value="${1}"/> with
>no luck.
>Only <j:set var="foo">1</j:set> worked for me. Looking at the taglib
>doc, it says that the value attr accepts an Expression. Is there any
>shorthand for this, other than wrapping them in tags every single
>time? It's a pretty big difference bet
>
>#set ($foo = 1) and <j:set var="foo">1</j:set>
>
>For Ex 2, I believe ${foo.size()} doesn't work coz it returns a
>primitive. Is there any easy workaround?
>
>For Ex 3, trying <j:set var="foo" value="${bar.class}"/> or <j:set
>var="foo" value="${bar.getClass()}"/> (aren't these Expressions?),
>and again encapsulating the ${bar.class} within the <j:set> tags
>worked.
>
>Just trying to make sure I understand how stuff is supposed to be
>used.
>
>Thanks!
>
>Kelvin
>
>
>--
>To unsubscribe, e-mail: <mailto:commons-user-
>unsubscribe@jakarta.apache.org> For additional commands, e-mail:
><mailto:commons-user-help@jakarta.apache.org>
>
>__________________________________________________ Do You Yahoo!?
>Everything you'll ever need on one web page from News and Sport to
>Email and Music Charts http://uk.my.yahoo.com
>
>--
>To unsubscribe, e-mail:   <mailto:commons-user-
>unsubscribe@jakarta.apache.org> For additional commands, e-mail:
><mailto:commons-user-
>help@jakarta.apache.org>




Mime
View raw message