Generating Dynamic Content
Download
Report
Transcript Generating Dynamic Content
Chapter 5
Generating Dynamic Content
Creating a JSP Page
A Sample JSP Page: easy.jsp
<%@ page contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSP is Easy</title>
</head>
<body bgcolor="white">
<h1>JSP is as easy as ...</h1>
<%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
</body>
</html>
Installing a JSP Page
Create a Web Application directory
f9406000
easy.jsp
WEB-INF
web.xml
classes
lib
war
jstl.jar
lib\standard.jar
Running a JSP Page
http://localhost:8080/f9406000/easp.jsp
Using JSP Directive Elements
page
<%@ page contentType="text/html" %>
<%@ page contentType="text/html;charset=ms950"%>
contentType
text/plain, text/xml, text/vnd.wap.wml
errorPage, isErrorPage, session, pageEncoding, buffer,
and autoFlush
import, language
include
taglib
JSP Comments
<%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
Using Template Text
<%@ page contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSP is Easy</title>
</head>
<body bgcolor="white">
<h1>JSP is as easy as ...</h1>
<%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
</body>
</html>
Using JSP Action Elements
<prefix:action_name attr1="value1" attr2="value2">
action_body
</prefix:action_name>
<prefix:action_name attr1="value1" attr2="value2" />
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${1 + 2 + 3}" />
Standard action elements
Action element
<jsp:useBean>
<jsp:getProperty>
Description
Makes a JavaBeans component available in a page
Gets a property value from a JavaBeans component and adds it to
the response
<jsp:setProperty> Set a JavaBeans property value
<jsp:include>
Includes the response from a servlet or JSP page during the request
processing phase
<jsp:forward>
Forwards the processing of a request to a servlet or JSP page
<jsp:param>
Adds a parameter value to a request handed off to another servlet
or JSP page using <jsp:include> or <jsp:forward>
Standard action elements
Action element
Description
Generates HTML that contains the appropriate browser-dependent
<jsp:plugin>
elements (OBJECT or EMBED) needed to execute an applet with the
Java Plugin software
<jsp:attribute> Sets the value of an action attribute based on the body of this element
<jsp:body>
Sets the action element body based on the body of this element.
Required when the action element body contains <jsp:attribute>
action elements
Dynamically generates an XML element, optionally with attributes
<jsp:element>
<jsp:text>
and a body defined by nested <jsp:attribute> and <jsp:body>
actions
Used to encapsulate template text that should be used verbatim;
typically only needed in JSP pages written as XML documents
JSP Standard Tag Library
Core
XML processing
Processing of XML data, such as transforming and accessing individual elements
Internationalization (I18N) and formatting
Conditional processing and looping, importing data from external sources, etc.
Format and parse localized information, insert localized information in a page
Relational database access (SQL)
Read and write relational database data
The JSP Expression Language
1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
1 + 2 + 3 = ${1 + 2 + 3}
Expression Language operators
Operator
Operation performed
.
Access a bean property or Map entry
[]
Access an array or List element
( )
Group a subexpression to change the evaluation order
? :
Conditional test: condition ? ifTrue : ifFalse
+
Addition
-
Subtraction or negation of a value
*
Multiplication
/ or div
Division
% or mod
Modulo (remainder)
Expression Language operators
Operator
Operation performed
== or eq
Test for equality
!= or ne
Test for inequality
< or lt
Test for less than
> or gt
Test for greater than
<= or le
Test for less than or equal
>= or ge
Test for greater than or equal
&& or and
Test for logical AND
|| or or
Test for logical OR
! or not
Unary Boolean complement
empty
func(arg)
Test for empty variable values (null, an empty String or an array, Map, or
Collection without entries)
A function call, where func is the function name and arg is a function
argument
Implicit EL variables
Variable name
Description
pageScope
A collection (a java.util.Map) of all page scope variables
requestScope
A collection (a java.util.Map) of all request scope variables
sessionScope
A collection (a java.util.Map) of all session scope variables
applicationScope A collection (a java.util.Map) of all application scope variables
param
paramValues
A collection (a java.util.Map) of all request parameter values as
a single String value per parameter
A collection (a java.util.Map) of all request parameter values as
a String array per
Implicit EL variables
Description
Variable name
header
A collection (a java.util.Map) of all request header values as a single
String value per header
headerValues
A collection (a java.util.Map) of all request header values as a
String array per header
cookie
A collection (a java.util.Map) of all request cookie values as a single
javax.servlet.http.Cookie value per cookie
initParam
A collection (a java.util.Map) of all application initialization
parameter values as a single String value per value
pageContext
An instance of the javax.servlet.jsp.PageContext class, providing
access to various request data
EL Variable Name
<c:out value="${param.userName}" />
<c:out value="${param['user-name']}" />
Naming Convention rules
namingConventionRules