1 JSP Java Server Pages 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. 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 Elementy dokumentu JSP 3.1 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