300 likes | 418 Views
JavaServer Pages és Java Beans. Fabók Zsolt Általános Informatikai Tanszék Miskolc i Egyetem. JSP és a beanek. Három tag: <jsp:useBean> <jsp:setProperty> <jsp:getProperty>. <jsp:useBean>. Felhasználása : objektumok, javaBeanek, példányosítása. <jsp:useBean> (folyt.). Attribútumai:
E N D
JavaServer Pagesés Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem JSP és JavaBean
JSP és a beanek • Három tag: • <jsp:useBean> • <jsp:setProperty> • <jsp:getProperty> JSP és JavaBean
<jsp:useBean> • Felhasználása: objektumok, javaBeanek, példányosítása. JSP és JavaBean
<jsp:useBean> (folyt.) • Attribútumai: • id • scope • type • class • beanName JSP és JavaBean
<jsp:useBean> 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
<jsp:useBean> 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
<jsp:useBean> 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
<jsp:useBean> 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
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
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
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
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
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
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
<jsp:setProperty> • Feladata: a <jsp:useBean> által létrehozott "elem" tulajdonságainak beállításra szolgál. JSP és JavaBean
<jsp:setProperty> 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
<jsp:setProperty> 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
<jsp:getProperty> • Feladata: beanben adott tulajdonságának lekérdezése. JSP és JavaBean
<jsp:getProperty> (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
Esettanulmány JSP és JavaBean
Esettanulmány (folyt.) JSP és JavaBean
Esettanulmány (folyt.) JSP és JavaBean
Esettanulmány (folyt.) JSP és JavaBean
Esettanulmány (folyt.) JSP és JavaBean
Kiinduló állapot... JSP és JavaBean
Új értékek beállítása... JSP és JavaBean
Send után... JSP és JavaBean
Új böngészőben... JSP és JavaBean
Másik gépen... JSP és JavaBean
Thank you for your attention! JSP és JavaBean