Embed
Email

Web Development

Document Sample

Shared by: linxiaoqin
Categories
Tags
Stats
views:
0
posted:
12/9/2011
language:
pages:
26
DT228/3 Web Development









JSP: Actions elements and

JSTL

JSP Action Elements





JSP pre-defined tags (standard actions

elements) Done



External Tag library:

------- Custom Done





------- Java Standard tag library

JSP Action elements:

External tag libraries – JSTL

• JSP 1.2 introduced supported for a special tag library

called the JSP Standard Tag Library (JSTL)



• Version 1.0 released in June 2002

Version 1.1 released in June 2004

Specification Evaluation 1.2 Maintenance Release 2

released in Aug 2006

• The JSTL saves programmers from having to develop

custom tag libraries for a range of common tasks,

such

as database access, conditional loops etc

• Enabled developers to produce more maintainable,

simpler JSP code

JSTL



• The JSP Standard Tag Library groups actions into four

libraries as follows**:



Library Contents

Core Core functions such as conditional processing

and looping, important data from external

environments etc

Formatting Format and parse information



SQL read and write relational database data



XMl Processing of XML data

** more may be added in later releases…

JSTL



• To use any of these libraries in a JSP, need to declare

using the taglib directive in the JSP page, specifying the

URI and the Prefix

Library Prefix URI

Core c http://java.sun.com/jsp/jstl/core



Formatting fmt http://java.sun.com/jsp/jstl/fmt



SQL sql http://java.sun.com/jsp/jstl/sql



XMl xml http://java.sun.com/jsp/jstl/xml



Example of declaring use of core library:

and tags of the core library







Count to 10 Example (using JSTL)

















A taglib directive

declare use of core

library

JSTL tag examples

JSTL: Example

Looking more closely at …..

















The tag enables loop logic. In this case, will look

through 10 times. Equivalent to java “for” loop

Closing tag placed after the end of body of loop

JSTL: Example



All JSTL tags have a set of attributes (similar to HTML tags..)



e.g. tag has 6 attributes:



var, items, varStatus, begin, end, step



The full details for each attribute is in the JSTL specification

document (on distrib). See p 65 for tag

definition



Willl need to use this document to verify WHICH tag

should be used and HOW is should be used

JSTL: Example



.. outputs a value to webpage.



Usually uses just one attribute value



Examples:













JSTL: Example



.. evaluates a condition. Uses an attribute test

to hold the condition



Example :





Generate this template text if p equals

someValue





Example 2



Generate this template text if p equals "true“



JSTL: Multiple ‘if’ conditions



An if/else action requires the use of the

tag



Syntax :





body content ( and subtags)











See page 52 of JSTL specification doc.

JSTL: Multiple ‘if’ conditions



Uses , and



Example:









Generate this













JSTL: Other core actions



Other examples: (NOT a complete list!)



….sets the value of a variable

….removes a scoped variable

….catches an exception

….. encodes a URL

… imports the content of a resource

.. redirects to another URL

.. adds a request parameter to other

actions

JSTL: example



Library Prefix URI

Core c http://java.sun.com/jsp/jstl/core



Formatting fmt http://java.sun.com/jsp/jstl/fmt



SQL sql http://java.sun.com/jsp/jstl/sql



XMl xml http://java.sun.com/jsp/jstl/xml





JSTL contains a set of actions in the Formatting library –

these tags are useful for formatting numbers, times and dates



e.g. (on page 140 of JSTL specification)

JSTL: example







etc etc



etc etc





The fmt:parseDate action takes the date or time string specified by the

value attribute (e.g. 2001-09-28) , interprets it according to the pattern defined

by the pattern attribute and saves it in a variable called “parsedEmpDate”… more

later

JSTL: other actions



Other examples:



- formats a numeric value

e.g. number of digits, currency, decimal place

e.g.

will output “12.300”



--formats a date and time

JSTL: Expression language

• Up to now, could only use Java expressions to assign

dynamic values  syntax errors common



• JSTL now provides an expression language (EL) to

support the tags  simpler syntax, less errors



• The EL is now part of the JSP specification (as of

versions JSP2.0) – can be used in JSTL tags or directly in

JSP pages.

JSTL: Expression language





• All EL expressions are evaluated at runtime



• The EL usually handles data type conversion and null

values -- easy to use



• An EL expression always starts with a ${ and ends with

a}

JSTL: Expression language

• The expression can include

- literals ( “1”, “100” etc)

- variables

- implicit variables (more later)



Examples:







expression





JSTL: Expression language -

operators

== > +

!= = *

/ or div

• Logical operators consist of && (or and), || (or or), and ! (or

not).



• The empty operator is a prefix operator that can used to

determine if a value is null or empty. For example:





Please specify your name.



JSP Implicit objects

• In JSP, need to be able to access information about the

environment in which the page is running e.g. the

parameters passed in a request for a form, the browser

type of the user etc.



• Implicit objects are a set of Java objects that the JSP

Container makes available to developers in each page.

These objects may be accessed as built-in variables via

scripting elements

JSTL implicit variables



• The JSTL EL allows these objects to be

accessed as „Implicit Variables‟



• Implicit variable are just pre-agreed fixed

variable names that can be used in JSTL

Expressions



• -- Think of as “variables that are

automatically available to your JSP page”..

JSTL: Expression language –

Implicit Objects

• Full set of implicit variables on page 211 of JSTL

documentation (includes: header, pageScope..) or

on page 74 of O‟Reilly‟s Java Server Pages book



• Very common implicit object is param



• param refers to parameter passed in a request message

(e.g. information entered into a form by a user).



• e.g.



• Further Examples of using param in next topic

Comparing JSTL vs Scriptlets



JSTL removes complexity by using tags instead of java code

(abstraction)



JSP pages using JSTL usually easier to maintain



JSTL allows HTML „tag‟ developers to „program‟



JSTL often more difficult to debug



Note: Using JSTL does not eliminate scriplets entirely..

may still need them sometimes for more complex logic

http://www.informit.com/isapi/product_id~{27F6F199-F5FD-474C-AC7F-B3FC2C1F57B6}/st~{94C03A97-1188-4875-8A06-

17743BA224B7}/session_id~{6A766315-391B-4F55-9AFB-B5425F6196C5}/content/articlex.asp

Info on JSTL





1. Java Server Pages by Hans Bergsten – full reference on all

JSTL tags in the Appendix.



2. Sun‟s JSTL 1.0 tag specification on distrib. Good for

definition of each tag. Poor on examples.



3. Specification Evaluation 1.2 Maintenance Release 2 on

distrib.

Setting up JSTL in a web

application



• JSTL is provided as part of Tomcat 5

• Ensure the two JSTL .jar files are

copied into the WEB-INF\lib directory

of your web application

• Ensure the taglib directive(s) is in your

JSP page



Related docs
Other docs by linxiaoqin
Volume 9 Issue 1- Winter 2-4-2004 _Read-Only_
Views: 13  |  Downloads: 0
VOLUME 35_ NUMBER 5 DECEMBER 10_ 2007
Views: 8  |  Downloads: 0
Volmer Axel-Antero
Views: 12  |  Downloads: 0
Voices for Change
Views: 7  |  Downloads: 0
Vocation Vacation
Views: 8  |  Downloads: 0
VISIT OUR SHOP CONTACT US
Views: 8  |  Downloads: 0
Visit of cellars
Views: 7  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!