Kapitola 3. Úvod do JavaServer Faces

Obsah

3.1. Co je to JSF
3.2. Hlavní výhody JSF
3.3. První JSF aplikace
3.3.1. Z čeho se JSF aplikace skládá
3.3.2. Postup pří vývoji JSF aplikace
3.4. Příklad k procvičení

V této kapitole si poprvé představíme JSF. Nastíníme hlavní aspekty a výhody tohoto frameworku a napíšeme si první velice jednoduchou aplikaci. Na ní budeme demonstrovat základní možnosti JSF, které budeme podrobněji rozebírat v následujících kapitolách. Dále si čtenář udělá představu o součástech, ze kterých se JSF aplikace skládá a o základních krocích, které je třeba při jejím vývoji provést.

3.1. Co je to JSF

Základem JSF je technologie JavaServer Pages (JSP), ve které funguje systém knihoven tagů[7] a JSF obsahuje právě dvě takovéto knihovny (těmito knihovnami se budeme blíže zaobírat v následujících sekcích). Díky tagům z těchto knihoven může vývojář vkládat na stránku komponenty uživatelského rozhraní (UI komponenty).[8]

Dle [3] existují dva různé přístupy k tvorbě webových aplikací:

  • Rapid development, při kterém programátor využívá vizuální vývojové prostředí, jenž mu umožní uživatelské rozhraní "naklikat". Tzn. pouze rozmístit předpřipravené komponenty a doprogramovat jejich funkcionalitu. Příkladem může být ASP.NET od Microsoftu.

  • Hard-core coding, při kterém programátor píše velké množství kódu manuálně a uživatelské rozhraní se většinou taktéž složitě programuje. Zde bychom mohli jako příklad uvést Java EE platformu.

JSF framework se snaží především o usnadnění tvorby uživatelského rozhraní. Můžeme ho tedy chápat jako jakýsi Swing[9] pro webové aplikace na Java EE platformě. Při využití JSF vývojář umísťuje na stránku předpřipravené komponenty a mapuje je na příslušné třídy zajišťující funkcionalitu.

JSF se skládá ze dvou hlavních součástí:

  • API [6] zastřešující komponenty uživatelského rozhraní. Umožňuje správu těchto komponent, konverzi a validaci uživatelských vstupů (konverzí a validací se budeme zabývat v sekci 5 – „Konverze a validace), zpracování událostí (zpracováním událostí se budeme zabývat v sekci 6 – „Zpracování událostí), řízení navigace mezi stránkami (navigací mezi stránkami se budeme zabývat v sekci 3.3.2.5 – „Namapování požadavků na instanci FacesServlet) atd. Třídy zajišťující tuto funkcionalitu lze samozřejmě v případě potřeby rozšířit.

  • JSP knihovny tagů [10] zajišťující přístup k JSF třídám z JSP stránky. Pomocí těchto tagů a jejich atributů umísťujeme UI komponenty na stránku a editujeme jejich chování. Např. je mapujeme na naše třídy, přiřazujeme jim validátory a listenery atp. (využitím UI komponent na stránce se budeme zabývat v sekci 4.3 – „Použití UI komponent na stránce“).



[7] Znalost technologie JSP a knihoven tagů je předpokladem pro četbu této práce. Pro více informací o těchto technologiích viz [8].

[8] UI komponentami se zde myslí klasické prvky uživatelského rozhraní, na které jste zvyklí z jiných aplikací. Jsou to např. tlačítka, textová pole, různé druhy zaškrtávacích políček (checkboxy, radiobuttony), různé druhy seznamů (listboxy, comboboxy) atd.

[9] Pri více informací o Swingu viz http://java.sun.com/docs/books/tutorial/uiswing.

Creative Commons License
Uvedená práce (dílo), jejímž autorem je Bc. David Hanel, podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Zachovejte licenci 3.0 Česko.