JUEL is an implementation of the Unified Expression Language (EL), specified as part of the JSP 2.1 standard (JSR-245), which has been introduced in JEE5. Additionally, JUEL 2.2 implements the JSP 2.2 maintenance release specification for full JEE6 compliance.
Once, the EL started as part of JSTL. Then, the EL made its way into the JSP 2.0 standard.
Now, though part of JSP 2.1, the EL API has been separated into package javax.el
and all dependencies
to the core JSP classes have been removed.
In other words: the EL is ready for use in non-JSP applications!
JUEL provides a lightweight and efficient implementation of the Unified Expression Language.
${foo.matches('[0-9]+')}
.
Methods are resolved and invoked using the EL's resolver mechanism. As of JUEL 2.2, method invocations are
enabled by default.String.format(String, String...)
to function format
allows for ${format('Hey %s','Joe')}
.
As of JUEL 2.2, VarArgs are enabled by default.Visit the JUEL site at Sourceforge.
The JUEL distribution contains the following JAR files:
juel-api-2.2.x.jar
- the javax.el
API classes.juel-impl-2.2.x.jar
- the de.odysseus.el
implementation classes.juel-spi-2.2.x.jar
- the META-INF/service/javax.el.ExpressionFactory
service provider resource.
(You will need this if you have several expression language implementations on your classpath and want to
force JUEL's implementation to be chosen by ExpressionFactory.newInstance()
).The JARs are also available via Maven:
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-api</artifactId>
<version>2.2.x</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-impl</artifactId>
<version>2.2.x</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-spi</artifactId>
<version>2.2.x</version>
</dependency>
Visit the Github project.
JUEL is considered production stable. The code is well tested (80% coverage) and feature complete.
JUEL is available under the Apache License, Version 2.0.
(c) 2006-2012 Odysseus Software