JavaServer Faces (JSF) is a framework for web applications written in Java. It serves to facilitate the development of user interfaces for Java EE-applications. Unlike other MVC frameworks that are managed by queries, the JSF approach is based on the components usage. The state of the user interface components is retained when the user requests a new page and then restores if the request is repeated. To display the data, JSP, Facelets is usually used, but JSF can be adapted to other technologies, for example XUL.
JavaServer Faces technology includes:
- A set of APIs for representing user interface components (UI) and managing their state, processing events and validating input information, defining navigation, as well as supporting internationalization (i18n) and accessibility.
- A special JSP tag library for expressing the JSF interface on a JSP page. In JSF 2.0, the Facelets technology is used as the view handler, which came to replace the JSP.