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