Caucho Technology
  • resin 4.0
  • jsp el


    JSP EL is a simple expression language for accessing data.

      JSP EL variables

      EL Variables come from one of two places:

      1. implicit variable
        pageContext
        pageScope
        requestScope
        sessionScope
        applicationScope
        param
        paramValues
        header
        headerValues
        cookie
        initParam
      2. pageContext.findAttribute(varname)
        which is like getting the first of:
        • page.getAttribute(varname)
        • request.getAttribute(varname)
        • session.getAttribute(varname)
        • application.getAttribute(varname)

      So if you have a variable like:

      <% boolean a = true; %>
            

      you have to store it as an attribute to make it available as an EL variable:

      <% 
        boolean b = true; 
        pageContext.setAttribute("b",new Boolean(b));
      %>
      
      <c:if test="${b}">
      b is TRUE
      </c:if>
      
            

      Here is an example that shows this a bit more:

      Making values available as JSP EL variables
      <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
       
      <% 
        boolean a = true; 
      
        boolean b = true; 
        pageContext.setAttribute("b",new Boolean(b));
      
        boolean c = false; 
        pageContext.setAttribute("c",new Boolean(c));
      
        boolean param = true;
        pageContext.setAttribute("param",new Boolean(param));
      %>
       
      <%-- 
        this is false because 'a' is not findable by
        pageContext.findAttribute(varname)
      --%>
      <c:if test="${'${'}a}">
      a is TRUE
      </c:if>
      
      <c:if test="${'${'}b}">
      b is TRUE
      </c:if>
      
      <%-- this is false because 'c' was set to false --%>
      <c:if test="${'${'}c}">
      c is TRUE
      </c:if>
      
      
      <%-- 
        This is false because 'param' is an implicit variable
        which is used instead of pageContext.findAttribute("param")
      --%>
      <c:if test="${'${'}param}">
      param is TRUE
      </c:if>
            
      b is TRUE
            

      Copyright © 1998-2009 Caucho Technology, Inc. All rights reserved.
      Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.