JSP ELResin 3.0
Resin 3.0

Features
Installation
Configuration
Web Applications
IOC/AOP
Resources
JSP
Servlets and Filters
Portlets
Databases
Admin (JMX)
CMP
EJB
Amber
EJB 3.0
Security
XML and XSLT
XTP
JMS
Performance
Protocols
Third-party
Troubleshooting/FAQ

Introduction
JSP Compilation
Reference
Tutorials
Articles
FAQ

JSP EL
JSTL
Directives
Variables
Actions
Applications
Velocity
Schema for JSP-2.0 .tld files
Reference
Reference
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 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
      


Reference
Reference
JSTL
Copyright © 1998-2005 Caucho Technology, Inc. All rights reserved.
Resin® is a registered trademark, and HardCoretm and Quercustm are trademarks of Caucho Technology, Inc.