The Black Bean Source™
User Guide for EL-Functors 1.0.2

Tag Library

This project includes a tag library with tags and functions as defined below. The URI of this library is, and the el-functors JAR includes the META-INF/el.tld descriptor file. To make use of this library, the following can be placed at the top of the JSP page:

<%@ taglib uri="" prefix="el" %>


While not strictly needed for the EL-Resolver, a JSP utility define tag has been defined as follows:

<el:define var="x" value="${rtexpr}" />

This is similar to the JSTL core <c:set> tag, but allows the current value of the rtexpr (when the tag is executed) to be mapped to a variable with the given name, which makes it available for later deferred-value expressions to use. Some examples of where this is useful follow:

c:forEach var available to deferred-value expressions even when items not specified

<c:forEach var="it" begin="0" end="${fn:length(testlist) - 1}">
  <el:define var="idx" value="${it}" />
  <h:outputText value="#{idx}." />
  <h:inputText value="#{testlist[idx]}" size="20" />

c:forEach varStatus available to deferred-value expressions

<c:forEach items="#{testlist}" var="it" varStatus="is">
  <el:define var="index" value="${is.index}" />
  <h:outputText value="#{index}." />
  <h:inputText value="#{it}" size="20" />

As an import or alias mechanism for static class references from the functor EL-Resolver

<el:define var="List" value="${}" />
<el:define var="Collections" value="${}" />
<c:if test="${List.class.isInstance$[mybean]}">
    <c:forEach items="#{Collections.unmodifiableList$[mybean]}" var="it">

Note, in all the above cases, the standard JSTL tags are unable to provide the functionality.


There are also a set of taglib functions that provide access to the functors library independant of the use of the EL-Resolver. See the api-documentation for details.