Hello bluejoe, Try this:
public static void main(String args[]) throws Exception {
VelocityEngine engine = new VelocityEngine();
engine.init();
VelocityContext ctx = new VelocityContext();
ctx.put("a", 1);
ctx.put("b", 2);
StringWriter writer = new StringWriter();
engine.evaluate(ctx, writer, "ERROR", "#set($c = $a + $b)");
Object c = ctx.get("c");
System.out.println("{"+c.getClass().getName()+"="+c+"}");
}
HTH,
w
On Tue, Dec 9, 2008 at 7:12 AM, bluejoe <[EMAIL PROTECTED]> wrote:
> Hi All!
>
> In my project, I want to use Velocity to evaluate user-defined expressions
> like:
>
> $a + $b
>
> How can I do that? It seems that I cannot use such an expression in a
> template directly. Then I tried to use #set directive:
>
> #set ($temp = $a + $b)
> $temp
>
> It works well, but I doubt if there is a method provided in Velocity such
> as:
>
> Object o = Velocity.eval(vc, "$a + $b");
>
> Could you give me an answer on this point? I need your help. Thanks a lot!
>
> Best Regards,
> bluejoe