330 likes | 468 Views
Java web programozás. 9-10. Tartalom. JavaServer Faces (JSF) JSF jellemzői JSF projekt létrehozása Beviteli elemek Kiviteli elemek Egyéb elemek Managed Bean Navigáció Validáció. A JSF jellemzői. A JSP-re épülő technológia Egy webes keretrendszer Beépített adatkonverzió
E N D
Java web programozás 9-10.
Tartalom • JavaServer Faces (JSF) • JSF jellemzői • JSF projekt létrehozása • Beviteli elemek • Kiviteli elemek • Egyéb elemek • Managed Bean • Navigáció • Validáció
A JSF jellemzői • A JSP-re épülő technológia • Egy webes keretrendszer • Beépített adatkonverzió • Beépített adatvalidáció • „okos” Komponensek • Nemzetköziesítés (I18N) támogatása • Igazodik az „MVC” tervezési mintához • Bővíthető (lásd. RichFaces)
JSF projekt létrehozása • File New Project …
JSF projekt létrehozása JSF konfigurációs állomány Telepítés leíró JSF lap
Alapvetőelemek • f:view • A JSF lapot jelenti • f:subview • Al-nézet létrehozása. Pl. fejléc, lábléc • h:form • Egy HTML form-ot generál • JSF tagkönyvtárak használata • <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> • <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
Kivitelielemek • h:outputText • Egy szöveget ír ki az oldalra • Pl. <h:outputText value=„Ezt fogom kiírni”/> • h:outputLink • Egy hyperhivatkozást teszt ki az oldalra • Pl. <h:outputLink value=„http://www.google.hu”> <h:outputText value=„Google”/></outputLink>
Kivitelielemek • h:graphicImage • Egy képet rajzol ki • Pl. <h:graphicImage url=„images/kep.png”/> • h:dataTable • Adatokat megjelenítő táblázat
h:dataTable • A modell
h:dataTable • A vezérlő
h:dataTable • Anézet
Beviteli elemek • h:inputText • Adatbekérést tesz lehetővé • Pl. <h:inputText value=„#{bean.nev}”/> • h:inputTextarea • Többsoros beviteli mező • Pl. <h:inputTextarea rows=„4” cols=„20” value=„#{bean.szoveg}”/>
Beviteli elemek • h:inputHidden • Egy rejtett beviteli mező • Pl. <h:inputHidden value=„#{bean.ertek}”/> • h:inputSecret • Egy jelszó beviteli mező • Pl. <h:inputSecret value="jelszo"/>
Beviteli elemek • h:selectBooleanCheckBox • Jelölőnégyzet • Pl. <h:selectBooleanCheckbox value="#{emb.f}"/> • h:selectOneRadio • Rádiógombok
Beviteli elemek • h:selectOneMenu • Választólista
Vezérlő elemek • h:commandButton • Egy nyomógomb • h:commandLink • Parancs hivatkozás (link)
Az elemek közös attribútumai • style • CSS utasításokat írhatunk ebbe az attribútumba • styleClass • CSS osztályt (class) rendelhetünk az adott komponenshez • rendered • Megadhatjuk, hogy megjelenjen-e a felületen az adott komponens (true/false) • disabled • Le van-e tiltva az adott komponens (pl. gomb) • value • A komponens értéke.
Managed Bean • Egy java osztály a JSF lap mögött. • Gyakorlatilag a „vezérlést” segíti • Felhasználási területei: • Adatkötés komponenseknél (value attribútum) • Metódusok végrehajtása pl. egy gombra kattintáskor • Navigáció végrehajtása • Általában a Managed Bean osztály metódusaiból hívjuk a Session Bean által megvalósított üzleti metódusokat.
Managed Bean • Létrehozása • A web-rétegben álljunk kattintsunk jobb egérgombbal, a „Source Packeges”-en. • New Other…
faces-config.xml • A létrejött managed bean-ünk bejegyzése
Navigáció • A „faces-config.xml” állományban • A „<navigation-rule>” elemekkel valósul meg. • Általában egy h:commandButton vagy egy h:commandLink segítségével kezdeményezheti a felhasználó a navigációt.
Navigáció welcomeJSF.jsp otherPage.jsp
Validáció, Konverzió • Nézzük át, a JSF tag-ek attribútumaiként használható validációs lehetőségeket. • Kötelezően kitöltendő • required=„true” • Kötelezően csak szám lehet • <f:convertNumber integerOnly=„true”/> • A hossz korlátozása • <f:validateLength minimum=„5” maximum=„10”/> • Dátum konvertálása • <f:convertDateTime pattern=„yyyy.MM.dd”/>
Validáció, Konverzió • Hibaüzenet(ek) megjelenítése: • <h:message>, <h:messages>