JSP Elements
There are three types of JSP elements you can use: directive, action, and scripting.
Directive elements
The directive elements, shown in Table 3-1, specify information about the page itself that remains the same between requests--for example, if session tracking is required or not, buffering requirements, and the name of a page that should be used to report errors, if any.
Table 3-1:
Directive elements
|
Element
|
Description
|
|
<%@ page ... %>
|
Defines page-dependent attributes, such as session tracking, error page, and buffering requirements
|
|
<%@ include ... %>
|
Includes a file during the translation phase
|
|
<%@ taglib ... %>
|
Declares a tag library, containing custom actions, that is used in the page
|
Standard action elements
Action elements typically perform some action based on information that is required at the exact time the JSP page is requested by a browser. An action can, for instance, access parameters sent with the request to do a database lookup. It can also dynamically generate HTML, such as a table filled with information retrieved from an external system.
The JSP specification defines a few standard action elements, listed in Table 3-2.
Table 3-2:
Standard action elements
|
Action element
|
Description
|
|
<jsp:useBean>
|
Makes a JavaBeans component available in a page
|
|
<jsp:getProperty>
|
Gets a property value from a JavaBeans component and adds it to the response
|
|
<jsp:setProperty>
|
Sets a JavaBeans component 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 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>
|
|
<jsp:plugin>
|
Generates HTML that contains the appropriate browser-dependent elements (OBJECT or EMBED) needed to execute an applet with the Java Plug-in software
|
Custom action elements and the JSP Standard Tag Library
In addition to the standard actions, the JSP specification includes a Java API a programmer can use to develop custom actions to extend the JSP language. The JSP Standard Tag Library (JSTL) is such an extension, with the special status of being defined by a formal specification from Sun and typically bundled with the JSP container. JSTL contains action elements for processes needed in most JSP applications, such as conditional processing, database access, internationalization, and more. This book covers all the JSTL actions in detail.
If JSTL isn't enough, programmers on your team (or a third party) can use the extension API to develop additional custom actions, maybe to access application-specific resources or simplify application-specific processing. The examples in this book use a few custom actions in addition to the JSTL actions, and three chapters in Part III are dedicated to custom action development.
Scripting elements
Scripting elements, shown in Table 3-3, allow you to add small pieces of code (typically Java code) in a JSP page, such as an if statement to generate different HTML depending on a certain condition. Like actions, they are also executed when the page is requested. You should use scripting elements with extreme care: if you embed too much code in your JSP pages, you will end up with the same kind of maintenance problems as with servlets embedding HTML.
Table 3-3:
Scripting elements
|
Element
|
Description
|
|
<% ... %>
|
Scriptlet, used to embed scripting code.
|
|
<%= ... %>
|
Expression, used to embed scripting code expressions when the result shall be added to the response. Also used as request-time action attribute values.
|
|
<%! ... %>
|
Declaration, used to declare instance variables and methods in the JSP page implementation class.
|
JavaBeans components
JSP elements, such as action and scripting elements, are often used to work with JavaBeans. Put succinctly, a JavaBeans component is a Java class that complies with certain coding conventions. JavaBeans components are typically used as containers for information that describes application entities, such as a customer or an order.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|