Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

181 JAVA – JSP Java EE training: JAVA BEANS.

Podobne prezentacje


Prezentacja na temat: "181 JAVA – JSP Java EE training: JAVA BEANS."— Zapis prezentacji:

1 181 JAVA – JSP Java EE training: JAVA BEANS

2 182 Java Beans Muszą posiadać konstruktor domyślny Dostęp do prywatnych pól składowych jest realizowany przez funkcje: getNAZWAPOLA setNAZWAPOLA (oznacza to zdefiniowanie właściwości-property w klasie) Pola typu logicznego są wykorzystują funkcję isNAZWAPOLA Muszą być umieszczane w pakietach

3 183 Przykład (NetBeans) public class MyBeam implements Serializable { public static final String PROP_SAMPLE_PROPERTY = "sampleProperty"; private String sampleProperty; private PropertyChangeSupport propertySupport; public MyBeam() { propertySupport = new PropertyChangeSupport(this); } public String getSampleProperty() { return sampleProperty; } public void setSampleProperty(String value) { String oldValue = sampleProperty; sampleProperty = value; propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY, oldValue, sampleProperty); } public void addPropertyChangeListener(PropertyChangeListener listener) { propertySupport.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { propertySupport.removePropertyChangeListener(listener); }

4 184 Schemat użycia Użytkownik zatwierdza dane na formularzu (stronie JSP) Strona JSP Tworzy obiektJavaBean Następuje ustawienie właściwości obiektu wykorzystując dane przesłane w żądaniu Wartości wynikowe pobierane są też przez właściwości

5 185 jsp:useBean Format Wynik Tworzy obiekt lub pobiera referencję do istniejącego obiektu bez bezpośredniego pisania kodu Uwagi Wywołanie: Może być interpretowane jako wywołanie skrypletu: Zalety użycia JavaBeans: Łatwiej ustawiać wartości w obiektach parametrami żądania Łatwiej wykorzystywać obiekty na różnych stronach

6 186 jsp:setProperty Format Wynik Ustawienie właściwości obiektu przez wywołanie metody setXXX Uwagi Może być interpretowane jako wywołanie skrypletu Przykład: Kod wynikowy: org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper( _jspx_page_context.findAttribute("MyBean1"), "sampleProperty", "10",..... );

7 187 jsp:getProperty Format Wynik Uzyskanie dostępu do właściwości obiektu przez niejawne wywołanie funkcji getName Uwagi Może być interpretowane jako: Przykład: Kod wynikowy: org.apache.jasper.runtime.JspRuntimeLibrary.toString( ( ((MyElements.MyBeam)_jspx_page_context.findAttribute("MyBean1")).getSampleProperty() )

8 188 Konwersje i przypisania Przypisanie wartości typu string ' /> Przypisanie wartości typu int <% int numItemsOrdered = 1; try { numItemsOrdered = Integer.parseInt(request.getParameter("numItems")); } catch(NumberFormatException nfe) {} %> " />

9 189 Przypisanie poszczególnych właściwości parametrami żądania

10 190 Zbiorowe ustawienie właściwości obiektu Java Bean parametrami żądania Uwagi: Mechanizm ten umożliwa tworzenie tzw obietów form beans, których właściwości są wypełniane z formularzy stworzonych na stronach www Można podzielić proces wypełniania obiektu pomiedzy wiele formularzy (każdy służy do wypełnienia fragmentu zestawu właściwości)

11 191 Współdzielnie obiektów Java Beans miedzy stronami jsp Atrybut scope służ do określenia dodatkowego miejsca przechowywania zmiennej typu JavaBeam Zmienna tak jest dodatkowo dostępna jako lokalna dla metody _ jspService Still also bound to local variable in _ Wartości: application page request session Umożliwiono w ten sposób współdzielenie danych miedzy stronami jsp Obiekt tworzony jest warunkowo (jeśli nie istniał)

12 192 page lub Wartość domyślna. Obiekt jest umieszczany w PageContex na czas trwania żądania. Pozwala metodom w bieżącym servlecie korzytać z obiektu application Obiekt jest składowany w obiekcie ServletContext, do którego dostęp można uzyskać wywołując metodę: getServletContext()). ServletContext jest współdzielony przez wszystkie servlety w ramach aplikacji webowej lub pomiedzy wszystkimi servletami na serwerze www jeśli żadna aplikacja webowa nie jest zdefiniowana na serwerze www session Obiekt jest przechowywany w obiekcie HttpSession związanym z bieżącym żądaniem z kąd może być dostępny dla zwykłego kodu servletu. Obiekt ten jest dostępny przez funkcje getAttribute i setAttribute request Obiekt jest umieszczany w obiekcie ServletRequest na czas trwania bieżącego żądania, gdzie jest dostępny za pomocą funkcji getAttribute

13 193 Jsp:useBean scope="... " synchronized (_jspx_page_context) { MyBean1 = (MyElements.MyBeam) _jspx_page_context.getAttribute("MyBean1", PageContext.PAGE_SCOPE); if (MyBean1 == null){ MyBean1 = new MyElements.MyBeam(); _jspx_page_context.setAttribute("MyBean1", MyBean1, PageContext.PAGE_SCOPE); } synchronized (session) { MyBean1 = (MyElements.MyBeam) _jspx_page_context.getAttribute("MyBean1", PageContext.SESSION_SCOPE); if (MyBean1 == null){ MyBean1 = new MyElements.MyBeam(); _jspx_page_context.setAttribute("MyBean1", MyBean1, PageContext.SESSION_SCOPE); }

14 194 Współdzelenie obiektów Java Beans przykład page1.jsp page2.jsp

15 195 Operacje warunkowe z wykorzysaniem JavaBeans Obiekt Java bean jest tworzony tylko w tedy jeśli nie istnieje już instancja obiektu o takiej nazwie w zdefiniowanym zakresie. To znaczy, że element.: jsp:useBean utworzy nowy obiekt tylko w tedy gdy on jeszcze nie istnieje. W przeciwnym przypadku ustawiana jest po prostu referencja na istniejący obiekt.Tę włąściwość można wykorzystać do zaimplementowania operacji warunkowych. Stosujęąc pełny zapis XML znacznik: Przedstawiamy w postaci: Wyrazenie gdzie wyrażenie może zawierać instrukcje jsp:setProperty. Takim przypadku "Wyrażenie jest wywoływane tylko jeśli tworzony jest nowy obiekt

16 196 Wykorzystanie JavaBeans Podsumowanie jsp:useBean Utworzenie nowego lub utworzenie referencji do istniejącego obiektu JavaBean jsp:setProperty Element służy do modyfikacji właściwości (property) obiektu JavaBean (wywołuje metodę setXXX) jsp:getProperty Element służy do odczytu właściwości obiektu JavaBean


Pobierz ppt "181 JAVA – JSP Java EE training: JAVA BEANS."

Podobne prezentacje


Reklamy Google