AI wyklad12 id 53263 Nieznany (2)

background image

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

PARTNERZY:

PARTNERZY:

JSTL - biblioteka standardowych
znaczników JSP

Beata Pa

ń

czyk

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

2

Plan wykładu



Biblioteka JSTL



Znacznik

out



Znacznik

forEach

i

forTokens



Znacznik

if



Znaczniki

choose

,

when

i

otherwise



Znacznik

set

i

remove



Znacznik

import



Znacznik

redirect



Znacznik

catch

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

3

Biblioteka JSTL



Biblioteka JSTL (JSP Standard Tag Library)
zawiera wiele znaczników stosowanych na
stronach JSP, szczególnie u

ż

ytecznych przy

korzystaniu z wzorca MVC



Nie jest cz

ęś

ci

ą

JSP, stanowi oddzieln

ą

specyfikacj

ę

i wymaga instalacji



J

ę

zyk wyra

ż

e

ń

EL (Expression Language) wywodzi

si

ę

z JSTL ale obecnie jest ju

ż

cz

ęś

ci

ą

specyfikacji

JSP 2.0, JSP 2.1 i JSF



Strona domowa JSTL:
http://jakarta.apache.org/taglibs/doc/standard-
doc/intro.html

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

4

Instalacja biblioteki JSTL



Biblioteka JSP Standard Tag Library 1.2 do
pobrania ze strony:
http://jstl.java.net/download.html



Po pobraniu i rozpakowaniu (do dowolnego
katalogu) pliku .zip nale

ż

y skopiowa

ć

pliki

standard.jar i jstl.jar do folderu

WEB-INF/lib

aplikacji



Kolejny krok - import biblioteki do strony JSP
dyrektyw

ą

taglib:

<%@taglib prefix="c"

uri="http://java.sun.com/jsp/jstl/core"

%>

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

5

Prefiksy JSTL



c (ang. core – rdze

ń

) – biblioteka bazowa



fmt (ang. format – formatowanie danych) –
biblioteka zawiera akcje pozwalaj

ą

ca na

formatowanie dat, licz, walut



sql (ang. Structured Query Language) – biblioteka
pozwala na wykonywanie podstawowych zapyta

ń

w

j

ę

zyku SQL



xml (ang. eXtensible Markup Language) - biblioteka
pozwala na przetwarzanie danych w formacie XML



fn (ang. functions) - biblioteka zawiera funkcje
operuj

ą

ce na ła

ń

cuchach znaków i kolekcjach

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

6

Znacznik c:out



Znacznik ma posta

ć

:

<c:out value= "... " default= "... " escapeXML= "true" >



Przypomina wyra

ż

enia skryptowe

<%=

%>

oraz wyra

ż

enia JSP EL

${

}



Dodatkowe zalety:



zwi

ę

ksza czytelno

ść

(jest to zwykły znacznik)



pozwala wskazywa

ć

domy

ś

ln

ą

warto

ść

(je

ś

li jest

null)



posiada atrybut

escapeXML= "true"

, dzi

ę

ki któremu

wszystkie znaki specjalne XML (< , > , & , ' , ")
automatycznie zast

ę

puje odpowiednimi

sekwencjami &

background image

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

7

Przykład c:out

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE

>

<html> <head></head>

<body>

<h1> <c:out value="Znacznik <c:out>" /> </h1>
<h3> Identyfikator: <c:out value="${account}" default="brak" /> </h3>

</body>

</html>

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

8

Znaczniki c:forEach, c:forTokens



Znacznik c:forEach

umo

ż

liwia wykonywanie

podstawowej iteracji i obsługuje wiele ró

ż

nych

typów kolekcji; mo

ż

e działa

ć

jak zwykła p

ę

tla for z

licznikiem, dla której mo

ż

na zdefiniowa

ć

warto

ść

pocz

ą

tkow

ą

begin

, ko

ń

cow

ą

end

oraz krok

step

;

dzi

ę

ki atrybutowi

var

mo

ż

na wskaza

ć

klucz



Znacznik c:forTokens

działa podobnie – ale wykonuje

iteracje przez ci

ą

g znaczników oddzielonych od

siebie separatorem (separator jest definiowany
przez wymagany atrybut

delims

)

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

9

Przykład c:forEach, c:forTokens

<h3><c:out value="Znacznik <c:forEach> jak zwykła pętla:" /></h3>

<ul> <c:forEach var="i" begin="1" end="7" step="2" >

<li>i=${i}</li>

</c:forEach>

</ul>

<% java.util.List lista=new java.util.ArrayList();

lista.add("jeden"); lista.add("dwa");lista.add("trzy");

request.setAttribute("lista",lista); %>

<h3><c:out value="Znacznik <c:forEach> dla listy:" /></h3>

<ul> <c:forEach var="item" items="${lista}" >

<li>${item}</li>

</c:forEach>

</ul>

<h3><c:out value="Znacznik <c:forTokens>:" /></h3>

<ul> <c:forTokens var="item" delims="<).(%>"

items="<Pewnego)razu.na(Dzikim%Zachodzie...>" >
<li>${item}</li>

</c:forTokens>

</ul>

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

10

Przykład –
wynik
działania

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

11

Przykład - znacznik c:if



Znacznik c:if

<ul> <c:forEach var="i" begin="1" end="7" step="2" >

<li>i=${i} <c:if test ="${i>3}" >

(większy niż 3)

</c:if>

</li>

</c:forEach>

</ul>

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

12

Przykład - znacznik c:choose

<ul><c:forEach var="i" begin="1" end="7" step="2" >

<li>i=${i}

<c:choose>

<c:when test="${i<3}" >(mniejszy od 3)</c:when>
<c:when test="${i==3}" >(r

ó

wne 3)</c:when>

<c:otherwise>(wiekszy od 3)</c:otherwise>

</c:choose>

</li>

</c:forEach>

</ul>

background image

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

13

Znaczniki c:set



Znacznik

c:set



definiuje atrybut o okre

ś

lonym zasi

ę

gu



albo uaktualnia/tworzy wła

ś

ciwo

ś

ci komponentów

bean

oraz

warto

ś

ci

map



Np.:

<c:set var ="NazwaAtrybutu" value="JakaśWartość" />

<c:set target ="map" property="klucz_elementu"

value="wartość_Elementu" />

<c:set target ="bean" property="nazwisko"> Jan Kowalski </c:set>



Warto

ść

znacznika

c:set

mo

ż

e by

ć

definiowana na 2

sposoby:



poprzez warto

ść

atrybutu

value



poprzez umieszczenie jej w tre

ś

ci

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

14

Znacznik c:remove



Je

ż

eli warto

ś

ci

ą

znacznika

c:set

oka

ż

e si

ę

null

– jest to

równoznaczne z wywołaniem metody:

odwołanieDoZasięgu.setAtrybut(null);

przy czym odwołanie do zasi

ę

gu mo

ż

e oznacza

ć

zasi

ę

g

żą

dania, odpowiedzi, sesji itp.



Odwołanie do zasi

ę

gu powoduje usuni

ę

cie atrybutu

z zasi

ę

gu



Dla wygody udost

ę

pniono znacznik

c:remove

za pomoc

ą

którego mo

ż

na wskaza

ć

nazw

ę

atrybutu do usuni

ę

cia za

pomoc

ą

atrybutu

var

i zasi

ę

gu

scope

(domy

ś

lnie -

usuni

ę

cie atrybutu ze wszystkich zasi

ę

gów)

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

15

Przykład – znaczniki
c:set, c:remove

<c:set var ="mapa" value="<%= new java.util.HashMap() %>"

scope="request" />

<c:set target ="${mapa}" property="podtytul" value="<przeczytaj to/>" />
<c:set target ="${mapa}" property="tytul" >

<c:out value="${mapa.podtytul} " /><br />Serwlety i JSP Tom II

</c:set>
<h1> ${mapa.tytul} </h1>
<c:set var="autor" value="Marty Hall" scope="request" />
<c:set var="autor" > Autorzy </c:set>
<h2> -- ${autor}: ${requestScope.autor} -- </h2>
<c:remove var="autor" />
<h2> -- ${pageScope.autor}:${requestScope.autor} --</h2>

Projekt współfinansowany przez Uni

ę

Europejsk

ą

w ramach Europejskiego Funduszu Społecznego

16

Literatura



Marthy Hall, Larry Brown, Yaakov Chaikin: "Core.
Java Servlets i JavaServer Pages", Helion, 2009



Krzysztof Rychlicki-Kicior, "Java EE 6.
Programowanie aplikacji WWW", Helion, 2010



http://download.oracle.com/javaee/1.4/tutorial/doc
/JSTL.html


Wyszukiwarka

Podobne podstrony:
AI Wyklad 2 id 53261 Nieznany (2)
AI Wyklad 3 id 53262 Nieznany
AI Wyklad 1 id 53260 Nieznany
LOGIKA wyklad 5 id 272234 Nieznany
ciagi liczbowe, wyklad id 11661 Nieznany
AF wyklad1 id 52504 Nieznany (2)
Neurologia wyklady id 317505 Nieznany
ZP wyklad1 id 592604 Nieznany
CHEMIA SA,,DOWA WYKLAD 7 id 11 Nieznany
or wyklad 1 id 339025 Nieznany
II Wyklad id 210139 Nieznany
cwiczenia wyklad 1 id 124781 Nieznany
BP SSEP wyklad6 id 92513 Nieznany (2)
MiBM semestr 3 wyklad 2 id 2985 Nieznany
algebra 2006 wyklad id 57189 Nieznany (2)
olczyk wyklad 9 id 335029 Nieznany
Kinezyterapia Wyklad 2 id 23528 Nieznany
AMB ME 2011 wyklad01 id 58945 Nieznany (2)

więcej podobnych podstron