JSF - Overview

What is JSF?

JavaServer Faces (JSF) is a MVC web framework that simplifies the construction of User Interfaces (UI) for server-based applications using reusable UI components in a page. JSF provides a facility to connect UI widgets with data sources and to server-side event handlers. The JSF specification defines a set of standard UI components and provides an Application Programming Interface (API) for developing components. JSF enables the reuse and extension of the existing standard UI components.


JSF reduces the effort in creating and maintaining applications, which will run on a Java application server and will render application UI on to a target client. JSF facilitates Web application development by −

  • Providing reusable UI components
  • Making easy data transfer between UI components
  • Managing UI state across multiple server requests
  • Enabling implementation of custom components
  • Wiring client-side event to server-side application code

JSF UI Component Model

JSF provides the developers with the capability to create Web application from collections of UI components that can render themselves in different ways for multiple client types (for example - HTML browser, wireless, or WAP device).

JSF provides −

  • Core library

  • A set of base UI components - standard HTML input elements

  • Extension of the base UI components to create additional UI component libraries or to extend existing components

  • Multiple rendering capabilities that enable JSF UI components to render themselves differently depending on the client types