commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert" <>
Subject [Jelly] Invoking methods (was: WhileTag)
Date Mon, 07 Oct 2002 16:18:43 GMT
That clears it up for me, thanks James. One quick question, can the
parameter of a method call be a variable in the context? Using your
${, b, 123, 'hello')}

I'm guessing/assuming/hoping that the 'a' and 'b' can be variables in
the JellyContext, while 'hello' in this case is a static parameter?

- Robert

-----Original Message-----
From: James Strachan [] 
Sent: Saturday, October 05, 2002 4:48 AM
To: Jakarta Commons Developers List
Subject: Re: [Jelly] WhileTag

From: "Eric Alexander" <>
> Hi all! Here's a patch to Jelly for a simple while tag. The usage
> this:
> <j:while test="${trueVar == 'true'}">
> <i:ask question="Goal:" answer="goal"/>
> <j:if test="${goal == 'exit'}">
> <j:set var="trueVar" value="false"/>
> </j:if>
> </j:while>
> So it simply takes an Expression for an argument and continues to loop
> it's true.

Great stuff! Many thanks and to dIon for committing it.

> Anyway, Jelly is really really cool. I'm having a lot of fun with it
> Jim Birchfield and I have
> also came up with the beginnings to an EJB tag.. Here's a sample of
> looks like now:
>  <ejb:context var="jboss" provider="localhost:1099"
> factory="org.jnp.interfaces.NamingContextFactory"/>
>  <ejb:home ctx="jboss" var="plantViewHome"
> homeClass="com.genscape.ejb.common.PlantViewHome"
>  <ejb:remote home="plantViewHome" var="plantViewRemote"
> remoteClass="com.genscape.ejb.plant.PlantView"/>
>  <ejb:invokeMethod var="results" remote="plantViewRemote"
> method="findPlant"/>
> This is all working pretty good, but we're trying to figure out a way
> pass arguments into the invoked method...
> If anyone has any good ideas, just holler!


You can use the expression language to invoke methods...

${, b, 123, 'hello')}

If you want to capture a return value then use this

  <j:set var="answer" value="${somebean.calculateSomething(a, b)}"/>

If you want to you can use a real scripting language like beanshell,
javascript, jacl etc. Though typically just invoking methods via the
expression language (Jexl) is enough. e.g. here's Jason's example script
using the command line..

<jelly xmlns="jelly:core" xmlns:bsh="jelly:beanshell">
-a option = ${commandLine.getOptionValue("a")}
-b option = ${commandLine.getOptionValue("b")}
-c option = ${commandLine.getOptionValue("c")}
Properties sysprops = System.getProperties();
System.out.println("-testsysprop = " + sysprops.get("testsysprop"));

Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message