JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem
JSP és JavaBean JSPBEAN / 2 JSP és a beanek Három tag:
JSP és JavaBean JSPBEAN / 3 <jsp:useBean> Felhasználása: objektumok, javaBeanek, példányosítása.
JSP és JavaBean JSPBEAN / 4 (folyt.) (folyt.) Attribútumai: id scope type class beanName
JSP és JavaBean JSPBEAN / 5 működése működése id és scope attribútumok segítségével megpróbálja megkeresni az objektumot a megfelelő névtérben. Az "oldalon" létrehoz egy változót, melynek neve az id -nek felel majd meg, és típusa a type -nak.
JSP és JavaBean JSPBEAN / 6 működése (folyt.) működése (folyt.) Ha megtalálta az objektumot a fenti névtérben, akkor type típusúvá teszi (ha kell akkor típuskényszerítéssel - sikertelen castolás esetén kivétel keletkezik (java.lang.ClassCastException) és a feldolgozása a tag -nak véget ér).
JSP és JavaBean JSPBEAN / 7 működése (folyt.) működése (folyt.) Ha nem találta meg az objektumot, akkor (3 eset): De a class -ban megadott osztálynak van default konstruktora akkor azzal példányosítja, bekerül a megadott névtérbe, majd "oldalszintű" változóvá avanzsál. Ha nem tudta példányosítani, akkor a java.lang.InstantionException kivétel kerül kiváltásra.
JSP és JavaBean JSPBEAN / 8 működése (folyt.) működése (folyt.) De a beanName attribútum meg van adva akkor a java.beans.Beans.instantiate() metódust hívja meg a servlet ClassLoader -vel és a megadott névvel. Ha sikeres akkor hozzárendeli a beant az adott "oldalszintű" változóhoz, és elhelyezi a megadott névtérbe. Ha sem a class sem a beanName attribútum nincs megadva, akkor a java.lang.InstantionException kerül kiváltásra.
JSP és JavaBean JSPBEAN / 9 Lehet, nem lehet, kötelező... type és class értéke lehet osztálynév. beanName lehet egy a java.beans.Bean.instantiate() -tal példányosítható javaBean. beanName lehet futásidőben kiértékelődő kifejezés is.
JSP és JavaBean JSPBEAN / 10 Lehet, nem lehet, kötelező... (folyt.) class és beanName nem lehet egyszerre megadva Ha type és class is meg van adva, akkor a class értékül adható kell, hogy legyen type -nak. id -t kötelező megadni. Új objektum létrehozásakor a class -nak vagy a type – beanName párosnak szerepelnie kell.
JSP és JavaBean JSPBEAN / 11 scope értéke lehet... page Az objektumot a javax.servlet.jsp.PageContext objektumban keresi. Az új objektumot itt is tárolja. élettartama: egyetlen oldal élettartama megjegyzés: ez az alapértelmezett.
JSP és JavaBean JSPBEAN / 12 scope értéke lehet... (folyt.) request A javax.servlet.ServletRequest objektumban keresi. Az új objektumot szintén itt tárolja. élettartalma: a kérés kiszolgálás idejére vonatkozik.
JSP és JavaBean JSPBEAN / 13 scope értéke lehet... (folyt.) session A javax.servlet.http.HttpSession objektumban keresi. Az új objektum itt tárolódik. élettartama: a session (ülés) lejártával, érvénytelenítésével vagy az alkalmazás terminálásával ér véget.
JSP és JavaBean JSPBEAN / 14 scope értéke lehet... (folyt.) application A javax.servlet.ServletContext objektumban keresi. Az új itt tárolódik. élettartama: az egész alkalmazás élettartamával azonos.
JSP és JavaBean JSPBEAN / 15 <jsp:setProperty> Feladata: a által létrehozott "elem" tulajdonságainak beállításra szolgál.
JSP és JavaBean JSPBEAN / 16 attribútumai attribútumai property értéke lehet konkrét property név property értéke lehet * is (ebben az esetben minden olyan tulajdonság beállításra kerül a megfelel értékkel, amely név a ServletRequest objektumban is megtalálható) Mindkét esetben, ha kell akkor tipuskonverzió hajtódik végre.
JSP és JavaBean JSPBEAN / 17 attribútumai (folyt.) attribútumai (folyt.) param attribútumot akkor kell használni, ha a ServletRequest ben tárolt név nem azonos a beanben tárolt tulajdonság nevével. value attribútummal futási időben rendelhetünk értket a megfelelő tulajdonsághoz.
JSP és JavaBean JSPBEAN / 18 <jsp:getProperty> Feladata: beanben adott tulajdonságának lekérdezése.
JSP és JavaBean JSPBEAN / 19 (folyt.) (folyt.) A name -ben megadott bean példány (beanInstanceName) getX() (X - propertyName) metódust hívja, majd kiirja az implicit out objektum segítségével (println). BeanInfo !!!
JSP és JavaBean JSPBEAN / 20 Esettanulmány
JSP és JavaBean JSPBEAN / 21 Esettanulmány (folyt.)
JSP és JavaBean JSPBEAN / 22 Esettanulmány (folyt.)
JSP és JavaBean JSPBEAN / 23 Esettanulmány (folyt.)
JSP és JavaBean JSPBEAN / 24 Esettanulmány (folyt.)
JSP és JavaBean JSPBEAN / 25 Kiinduló állapot...
JSP és JavaBean JSPBEAN / 26 Új értékek beállítása...
JSP és JavaBean JSPBEAN / 27 Send után...
JSP és JavaBean JSPBEAN / 28 Új böngészőben...
JSP és JavaBean JSPBEAN / 29 Másik gépen...
JSP és JavaBean JSPBEAN / 30