Caucho maker of Resin Server | Application Server (Java EE Certified) and Web Server


 

Resin Documentation

home company blog wiki docs 
app server web server 
health cloud java ee pro 
 Resin Server | Application Server (Java EE Certified) and Web Server
 

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

Cloud-optimized Resin Server is a Java EE certified Java Application Server, and Web Server, and Distributed Cache Server (Memcached).
Leading companies worldwide with demand for reliability and high performance web applications including SalesForce.com, CNET, DZone and many more are powered by Resin.

home company blog wiki docs 
app server web server 
health cloud java ee pro