The xel-config Element

The allowed child elements include evaluator-class. At most one xel-config element is allowed for each zk.xml.

<xel-config>
    <evaluator-class>my.MyExpressionFactory</evaluator-class>    
</xel-config>

The evaluator-class Element

[Default: org.zkoss.xel.el.ELFactory]

It specifies the class used to evaluate XEL (Extensible Expression Language) expressions. The specified class must implement the org.zkoss.xel.ExpressionFactory interface.

If not specified, ZK uses the XEL implementation from ZK Commons EL (zcommons-el.jar), which is a performance-enhanced version of Apache Commons EL.

If your Web server uses another implementation, you can do one of the following:

  1. If you prefer the implementation based on Apache JSP 2.1 EL, you have to specify the org.zkoss.xel.el21.ApacheELFactory class. If the Web server doesn't support Apache JSP 2.1 EL, you have to copy el-api.jar (JSP 2.1 API[11]) and jasper-el.jar (Apache's implementation) to your Web application.

  2. If you prefer the implementation based on Apache Commons EL (JSP 2.0 EL), you have to specify the or.zkoss.xel.el.ApacheELFactory class. If the Web server doesn't support Apache Commons EL, you have to copy commons-el.jar to your Web application.

  3. If you want a different implementation, you can extend from org.zkoss.xel.el.ELFactory or org.zkoss.xel.el21.ApacheELFactory by simply overriding the newExpressionEvaluator method. Of course, if you prefer, you can implement the org.zkoss.xel.ExpressionFactory interface directly.



[11] Required only if you are using the Web server that supports only JSP 2.0.