to get the file

Transkrypt

to get the file
1
JSP
technologia Javy pozwalaj¡ca na generowanie dynamicznych dokumentów HTML lub XML. Pozwala na umieszczanie kodu j¦zyka
Java w tre±ci dokumentów. Jest elementem opakowuj¡cym standardowe serwlety i umo»liwia dost¦p do standardowych obiektów klas HTTPServletRequest oraz HTTPServletResponse.
Java Server Pages
2
Przykªad strony JSP
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello</title>
</head>
<body>
<% out.println("Tekst"); %>
</body>
</html>
3
3.1
Elementy dokumentu JSP
Skryptlety
Skryptlety pozwalaj¡ na osadzenie kodu w dokumencie. Mo»na je wykorzysta¢ do generowania dynamicznej zawarto±ci wykorzystuj¡c obiekt out, który
jest odpowiedzialny za generowanie tekstu w dokumencie.
<% Przykladowy skryptlet %>
Skryptlety mog¡ by¢ u»ywane pomi¦dzy znacznikami HTML np.
<% if (a == 2){ %>
<p>Równe</p>
<%} else { %>
<p>Ró»ne</p>
<%} %>
1
3.2
Wyra»enia
Wyra»enia pozwalaj¡ na bezpo±rednie wypisywanie rezultatów kodu do generowanego dokumentu.
<%= Przykªadowe wyra»enie %>
Rezultat wyra»enia zostanie zaª¡czony jako zawarto±¢ strony.
Przykªad: Wy±wietlenie parametru a
<%= request.getParameter("a") %>
3.3
Deklaracje
Deklaracje pozwalaj¡ na doª¡czenie dodatkowego kodu do serwletu. W ciele
deklaracji wpisywane s¡ dodatkowe metody i pola u»ywane w dokumencie.
<%!
Przykªadowa deklaracja
%>
3.4
Dyrektywy
Dyrektywy okre±laj¡ globalne usawienia strony JSP
<%@ Przykªadowa dyrektywa %>
Podstawowe dyrektywy:
• Dyrektywa page Okre±la podstawowe parametry strony: j¦zyk, typ
wynikowy, kodowanie, . . .
• Dyrektywa include Doª¡czenie dodatkowego pliku podczas przetwarzania strony JSP
3.5
Znaczniki JSP
Znaczniki s¡ wyspecjalizowanymi elementami pozwalaj¡cymi na realizowanie
konkretnych zada«
<jsp:Nazwa_Znacznika parametry />
Podstawowe znaczniki:
• Znacznik jsp:forward Tworzy przekierowanie na inn¡ stron¦. Przykªad:
2
<jsp:forward page="url strony" />
• Znacznik
jsp:useBean
Okre±la wykorzystanie obiektu na stronie
• Znacznik
jsp:setProperty
Ustawia wªa±ciwo±¢ obiektu
• Znacznik
jsp:getProperty
Pobiera wªa±ciwo±¢ obiektu
• Znacznik
jsp:include
Doª¡cza plik do serwletu
• Znacznik jsp:plugin Pozwala na doª¡czenie apletu Javy do strony JSP
Dodatkowe znaczniki mog¡ by¢ tworzone samodzielnie.
3
4
Obiekty Beans
W celu wykonywania prostych operacji na danych stosuje si¦ obiekty Beans.
S¡ to typowe obiekty klas j¦zyka Java zawieraj¡ce pola przechowuj¡ce dane
wraz z metodami pozwalaj¡cymi na dost¦p do tych metod (getery i setery ).
4.1
Przykªadowy Bean
Standardowa klasa Javy z prywatnymi polami i publicznymi metodami zapewniaj¡cymi dost¦p do pól.
package pakiet;
public class ExampleBean {
private String name;
private int value;
public void setName(String n){
this.name = n;
}
public String getName(){
return name;
}
public void setValue(int v){
this.value = v;
}
public int getValue(){
return value;
}
}
Metody odpowiedzialne za dost¦p do pól musz¡ speªnia¢ konwencje nazewnicze:
•
set[NazwaPola]
dla metody ustawiaj¡cej zawarto±c pola
•
get[NazwaPola]
dla metody odczytuj¡cej zawarto±¢ pola
Umieszczenie klasy w pakiecie pozwala na zapewnienie odpowiedniej widoczno±ci
klasy w dokumentach JSP
4
4.2
U»ycie Beana
Obiekt stowrzonej wy»ej klasy mo»e zosta¢ u»yty do przechowywania danych
na stronach JSP. Aby umozliwi¢ u»ywanie Beana na stronie nale»y wykorzysta¢ znacznik useBean.
<jsp:useBean id="bean" class="pakiet.ExampleBean" scope="session" />
Po zadeklarowaniu obiektu bean mo»na odwoªywa¢ si¦ do niego jak do zwykªego
obiektu Javy w skryptletach lub z uzyciem znaczników setProperty i getProperty.
Przykªad ustawienia warto±ci beana:
<jsp:setProperty name="bean" property="name" value="ABC"/>
<% bean.setValue(123); %>
Przykªad odczytania warto±ci beana:
<jsp:getProperty property="name" name="bean"/>
<%= bean.getValue() %>
4.3
Beany a formularze
Obiekty klasy bean mo»na wykorzysta¢ do przesyªania danych z formularzy.
<jsp:setProperty name="bean" property="*" />
Uzycie gwiazdki zamiast nazwy wªasno±ci spowoduje przypisanie do pól obiektu
bean danych otrzymanych jako parametry zapytania HTTP. Nazwy parametrów
(elementów input w formularzu wysyªaj¡cym) oraz pola obiektu bean musz¡
by¢ zgodne.
5
Przykªadowe zadania
1. Stworzy¢ stron¦ JSP, która wy±wietli liczb¦
PI
pobran¡ z klasy
Math
2. Wy±wietli¢ ten sam paragraf tekstu zadan¡ liczb¦ razy pobran¡ z parametru
HTTP
3. Stworzy¢ przykªadowego beana, którego warto±¢ zostanie zapisana i
odczytana na stronie JSP
5