Ugrás a tartalomhoz

JavaServer Faces

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Addbot (vitalap | szerkesztései) 2013. március 9., 04:19-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (Bot: 22 interwiki link migrálva a Wikidata d:q729427 adatába)

A JavaServer Faces (röviden JSF) egy Java-alapú MVC keretrendszer webes felhasználói felületek fejlesztéséhez. A komponensvezérelt UI-tervezési modellre épül.

View template-nek vagy Faceletnek nevezett XML fájlokat használ a megjelenítési modell leírására. A kéréseket a FacesServlet dolgozza fel, ami ezután betölti a megfelelő view template-et, felépíti a komponensfát, kezeli az eseményeket és létrehozza (generálja) a választ (többnyire HTML vagy XHTML formátumban) a kliensnek. A felhasználói felület komponenseit (és egyéb objektumokat) minden lekérés végén elmenti (stateSaving), majd ugyanazon view következő előállításakor újra betölti. Ennek a mentési/betöltési folyamatnak több különböző formája ismert, szerver és kliens-oldali stateSaving is lehetséges.

Alapértelmezésben a JSF 1.x JSP-t használ a megjelenítésre, de más technológiák is elérhetőek hozzá, mint pl. a XUL vagy a Faceletek. A JSF 2 esetében már a Faceleteket használata az alapértelmezett.

Verziók

  • JSF 1.0 (2004. március 11.) – Ez volt az első JSF specifikáció. Fejlesztése a JSR 127 keretében történt.
  • JSF 1.1 (2004. május 27.) – Csak hibajavításokat tartalmazott. A specifikáció nem változott. Ezt a verziót is még a JSR 127 alatt definiálták.
  • JSF 1.2 (2006. május 11.) – Ezt a verziót már a JSR 252 keretében szabványosították. A hibajavításokon kívül tartalmazza többek között az alábbi változásokat:
    • A konfigurációs fájlok alakját XML séma fájlok (XSD fájlok) definiálják a korábbi DTD fájlok helyett.
    • Több frame-mel és több ablakkal rendelkező alkalmazások támogatása.
    • Biztonsági kiegészítések a kliensoldali állapottároláshoz.
    • A specifikáció átszervezése normatív és nem normatív szekciókba.
  • JSF 2.0 (2009. június 28.) – A JEE 6 verzió specifikációjával egyidejűleg jött ki, főverzióváltás, leegyszerűsített használatot, bővített funkcionalirást és teljesítményt nyújt a korábbi verziókhoz képest. A szabványosítási folyamatot a JSR 314 alatt koordinálták.
  • JSF 2.1 (2010. október 22.) — Csak minimálisan változott a specifikáció. [1][2]

Egy JSF oldal életciklusa

  1. A nézet visszaállítása (Restore view)
  2. A kérésben szereplő értékek érvényesítése (Apply request values)
  3. Validációk (Process validations)
  4. A modell értékeinek frissítése (Update model values)
  5. Az alkalmazás meghívása (Invoke application)
  6. A válasz generálása (Render response)

Részei

A JSF arhitektúra tartalmazza az alábbiakat:

  • A grafikus komponenseket reprezentáló API-kat, amelyekkel módosítani lehet a komponensek állapotát, eseményeket lehet kezelni és felhasználó inputot lehet ellenőrizni többek között.
  • JSP elemkönyvtárakat, melyeken keresztül hivatkozni lehet a JSF komponensekre JSP oldalakból.
  • Kiszolgálóoldali eseménymodell.
  • A komponensek állapotainak kezelése.
  • Managed Bean-ek, melyek speciális JavaBean-ek.

Grafikus komponensek

A JSF grafikus komponenseit az alábbi komponenscsaládokba sorolják:

javax.faces.Command
  • javax.faces.Button – HTML <input> elem.
  • javax.faces.Link – HTML <a> tag, amely submit gombként viselkedik.
javax.faces.Data
  • javax.faces.Table – HTML <table> elem.
javax.faces.Form
  • javax.faces.Form – HTML <form> elem.
javax.faces.Graphic
  • javax.faces.Image – HTML <img> elem.
javax.faces.Input
  • javax.faces.Hidden – hidden típusú HTML <input> elem.
  • javax.faces.Secret – password típusú HTML <input> elem.
  • javax.faces.Text – text típusú HTML <input> elem.
  • javax.faces.Textarea – HTML <textarea> elem.
javax.faces.Message
  • javax.faces.Message – Valamely komponenshez tartozó üzenet.
javax.faces.Messages
  • javax.faces.Messages – Valamely komponenshez tartozó összes üzenet.
javax.faces.Output
  • javax.faces.Format – Paraméterezett szöveg.
  • javax.faces.Label – HTML <label> elem.
  • javax.faces.Link – HTML <a> elem.
  • javax.faces.Text – HTML elem.
javax.faces.Panel
  • javax.faces.Grid – HTML <table> elem.
  • javax.faces.Group
javax.faces.SelectBoolean
  • javax.faces.Checkbox – checkbox típusú HTML <input> elem.
javax.faces.SelectMany
  • javax.faces.Checkbox – checkbox típusú HTML <input> elemek listája.
  • javax.faces.Listbox – HTML opciólista.
  • javax.faces.Menu – HTML HTML opciólista.
javax.faces.SelectOne
  • javax.faces.Listbox – HTML opciólista.
  • javax.faces.Menu – HTML opciólista.
  • javax.faces.Radio – radio típusú HTML <input> elem.

Megvalósításai

Egyéb támogatás

Jegyzetek

Külső hivatkozások