Caucho Technology
documentation
examples
changes

overview
quick start
installation
command-line
configuration
admin
amber
clustering
caching
database
deployment
ejb 3.0
embedding
filters
hessian
hmtp
ioc
jsp
logging
messaging
performance
quercus/php
remoting
scheduled tasks
security
server push
servlets
third-party
troubleshooting
virtual hosting
watchdog
webapp
xml and xslt

introduction
compilation
el
jstl
directives
variables
actions
applications
schema for jsp-2.0 .tld files
velocity syntax
jsp templates

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-2008 Caucho Technology, Inc. All rights reserved.
Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.