On 6/19/06, Hubert Rabago <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to