Направо към съдържанието

JavaServer Faces

от Уикипедия, свободната енциклопедия

JavaServer Faces (JSF) е уеб-базиран фреймуърк за Java, който улеснята разработката на уеб приложения на основата на Java Servlet API и JSP. JSF е стандартизирана технология и е включена официално в Java Enterprise Edition 5. JSF включва:

  • Компоненти - JSF е компонентно базирана технология. Компонентите служат за визуализиране на потребителския интерфейс. Всяка компонента запазва собственото си състояние, като състоянието може да се пази на сървъра или при клиента (клиентски браузър под вид на скрито поле в което състоянието е сериализирано и записано чрез Base64 кодиране)
  • Валидиране и конвертиране на входните данни от компонентите
  • Поддръжка на интернационализиране
  • Навигация между страниците
  • Генерира събития на сървъра в зависимост от действия от страна на клиента
  • Стандартен набор от компоненти
  • Възможност за създаване на потребителски библиотеки с JSP тагове
  • Менаджирани бийнове (Managed Beans) - Представляват Java класове които са дефинирани в конфигурационен файл и JSF се грижи те да бъдат създадени при извикването им, или връщане ако вече са били създадени.
  • Език за връзване на Java класове с компонентите (Expression Language)
  • Генератор на изходен код (Renderer) - всяка JSF компонента съдържа свой собствен Renderer който се грижи за генериране на изходния код (HTML).

Конфигуриране на JSF приложение

JSF е имплементиран като Servlet и за да работи правилно е необходимо Faces Sevlet да бъде описан в конфигурационния файл на приложениет (web.xml).

<servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
</servlet-mapping>

JSF компоненти

Основната идея на технологията е да се имплементират компоненти които създават потребителският йнтерфейс. Компонентите са преизползваеми, което означава че веднъж написани те могат да се използват на различни места без да бъде повтарян или пренаписван техният код.

Полезни връзки

  • JSF RI. JSF имплементация на Sun.
  • MyFaces JSF имплементация на Apache с отворен код
  • Facelets Библиотека за построяване на дървета от JSF компоненти. Включва шаблонизация
  • Ajax4Jsf AJAX библиотека за JSF