JSP EL
Resin 3.1

Documentation
Examples
Changes

Overview
Installation
Configuration
Quercus
SOA/IoC
JSP
Servlets and Filters
Admin (JMX)
EJB
Amber
Security
Performance
Hessian
XML and XSLT
Third-party
Troubleshooting/FAQ

Introduction
Compilation
EL
JSTL
Directives
Variables
Actions
Applications
Schema for JSP-2.0 .tld files
Velocity syntax
JSP Templates
FAQ
Compilation
JSP
JSTL

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
      

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