JSP and JSTL Tutorials - Herong's Tutorial Notes
Dr. Herong Yang, Version 3.09, 2006

JSTL - Core Library

Part:   1  2  3  4 

JSP/JSTL Tutorials - Herong's Tutorial Notes © Dr. Herong Yang

Using Cookies

Using JavaBean Classes

HTTP Response Header Lines

Non ASCII Characters

JSTL and Expression Language

File Upload

Execution Context

JSP Elements

JSP Standard Tag Libraries (JSTL)

JSP Custom Tag

... Table of Contents

(Continued from previous part...)

Output of JstlObjects.jsp, slightly reformatted:

Browsing all the JSTL implicit objects:

"pageContext":

org.apache.jasper.runtime.PageContextImpl@4ed821

"pageScope":

javax.servlet.jsp.jspApplication=org.apache.catalina.core.ApplicationCon
javax.servlet.jsp.jspSession=org.apache.catalina.session.StandardSession
org.apache.taglibs.standard.ImplicitObjects=org.apache.taglibs.standard.
javax.servlet.jsp.jspOut=org.apache.jasper.runtime.JspWriterImpl@7c3828
javax.servlet.jsp.jspResponse=org.apache.coyote.tomcat4.CoyoteResponseFa
javax.servlet.jsp.jspRequest=org.apache.coyote.tomcat4.CoyoteRequestFaca
javax.servlet.jsp.jspConfig=org.apache.catalina.core.StandardWrapperFaca
javax.servlet.jsp.jspPage=org.apache.jsp.JstlObjects_jsp@27538
javax.servlet.jsp.jspPageContext=org.apache.jasper.runtime.PageContextIm

"requestScope":

"sessionScope":

"applicationScope":

javax.servlet.context.tempdir=D:\local\jakarta-tomcat-4.1.18\work\Standa
org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@628b8d
org.apache.catalina.resources=org.apache.naming.resources.ProxyDirContex
org.apache.catalina.jsp_classpath=/D:/local/jakarta-tomcat-4.1.18/webapp

"param":

"paramValues":

"header":

accept-language=en-us
connection=Keep-Alive
cookie=JSESSIONID=81C98734DD4F0E3F75608D6E3B1D83D0
accept=*/*
host=localhost:8080
user-agent=Mozilla/4.0 (compatible; MSIE 6.0; MSNIA; Windows NT 5.0; Q31

"headerValues":

accept-language=[Ljava.lang.String;@5dc721
connection=[Ljava.lang.String;@3c59aa
cookie=[Ljava.lang.String;@22da07
accept=[Ljava.lang.String;@180c26
host=[Ljava.lang.String;@45bb9d
user-agent=[Ljava.lang.String;@204425

"cookie":

JSESSIONID=javax.servlet.http.Cookie@5a142f

"initParam":

Class path list:

/C:/local/jakarta-tomcat-4.1.18/webapps/ROOT/WEB-INF/classes/
/C:/local/jakarta-tomcat-4.1.18/webapps/ROOT/WEB-INF/lib/jstl.jar
/C:/local/jakarta-tomcat-4.1.18/webapps/ROOT/WEB-INF/lib/standard.jar
C:/local/jakarta-tomcat-4.1.18/shared/classes/
C:/local/jakarta-tomcat-4.1.18/common/classes/
C:/local/jakarta-tomcat-4.1.18/common/endorsed/xercesImpl.jar
C:/local/jakarta-tomcat-4.1.18/common/endorsed/xmlParserAPIs.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/activation.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/ant.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/commons-collections.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/commons-dbcp.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/commons-logging-api.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/commons-pool.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/jasper-compiler.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/jasper-runtime.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/jdbc2_0-stdext.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/jndi.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/jta.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/mail.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/naming-common.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/naming-factory.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/naming-resources.jar
C:/local/jakarta-tomcat-4.1.18/common/lib/servlet.jar

JSTL Core Example - JstlPrimeNumbers.jsp

As my second JSTL core example, JstlPrimeNumbers.jsp, is to calculate if a given number is prime number or not.

<?xml version="1.0"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
   xmlns:c="http://java.sun.com/jstl/core" version="1.2"> 
<!-- JstlPrimeNumbers.jsp - It doesn't work, can not change the index
     Copyright (c) 2003 by Dr. Herong Yang
-->
<jsp:directive.page contentType="text/html"/>
<html><body>
<p>Checking prime numbers:</p>
<c:set var="upperLimit" value="${20}"/>
<c:forEach var="i" begin="${3}" end="${upperLimit}">
 <c:set var="isPrime" value="${true}"/>
 <c:forEach var="j" begin="${2}" end="${i-1}">
  <c:if test="${i%j == 0}">
   <c:set var="isPrime" value="${false}"/>
   <!-- We should break the loop here -->
  </c:if>
 </c:forEach>
 <c:choose>
  <c:when test="${isPrime}">
   <c:out value="${i} is a prime number."/><br/>
  </c:when>
  <c:otherwise>
   <c:out value="${i} is a not prime number."/><br/>
  </c:otherwise>
 </c:choose>
</c:forEach>
</body></html>
</jsp:root>

(Continued on next part...)

Part:   1  2  3  4 

Dr. Herong Yang, updated in 2006
JSP and JSTL Tutorials - Herong's Tutorial Notes - JSTL - Core Library