commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul Akolkar" <rahul.akol...@gmail.com>
Subject Re: [jexl] EL-style string evaluations
Date Mon, 19 Jun 2006 20:51:47 GMT
On 6/19/06, Hubert Rabago <hrabago@gmail.com> wrote:
> Is the sample in this message valid:
> http://marc.theaimsgroup.com/?l=jakarta-commons-user&m=111974074105369&w=2
>
<snip/>

No, its not.


>        SomeObject thingy = new SomeObject();
>        thingy.setFoo( "Blah" );
>
>        String expr =
>            "JEXL let's you do everything you'd do with EL. ${thingy.foo}";
>
<snap/>

Two issues about parsing that:

 * Single quotes demarcate String literals, and cannot be used at will like that
 * JEXL has no concept of ${...} and will not attach any semantics to
the construct

I suspect you can try:

String expr = " ' JEXL lets you do everything you would do with EL. '
+ thingy.foo "

for the desired outcome (whitespace exaggerated for readability in email).

-Rahul


>        Expression e = ExpressionFactory.createExpression( expr );
>        JexlContext jc = JexlHelper.createContext( );
>        jc.getVars( ).put("thingy", thingy);
>        String message = (String) e.evaluate(jc);
>
> I need this functionality in my app.  I tried out the code above but got this:
>
> org.apache.commons.jexl.parser.ParseException: Encountered "let" at
> line 1, column 6.
> Was expecting one of:
>    "||" ...
>    ... etc ...
>        at org.apache.commons.jexl.parser.Parser.generateParseException(Parser.java:3274)
>      ... etc ...
>
> What's the proper way of evaluating "expr" in the sample above using JEXL?
>
> thanks,
> Hubert
>

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


Mime
View raw message