Juel Getting Started
Getting Started
The JUEL distribution contains the following JAR files:
- juel-api-2.2.x.jar - contains the javax.el API classes.
- juel-impl-2.2.x.jar
- juel-spi-2.2.x.jar
- Factory and Context
// the ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl(); // package de.odysseus.el.util provides a ready-to-use subclass of ELContext de.odysseus.el.util.SimpleContext context = new de.odysseus.el.util.SimpleContext();
- Functions and Variables
// map function math:max(int, int) to java.lang.Math.max(int, int) context.setFunction("math", "max", Math.class.getMethod("max", int.class, int.class)); // map variable foo to 0 context.setVariable("foo", factory.createValueExpression(0, int.class));
- Parse and Evaluate
// parse our expression ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", int.class); // set value for top-level property "bar" to 1 factory.createValueExpression(context, "${bar}", int.class).setValue(context, 1); // get value for our expression System.out.println(e.getValue(context)); // --> 1