The JSF Framework: An Introduction to JavaServer Faces

Reading Time: 2 minutes

JSF stands for JavaServer Faces. It is a framework that helps you build user interfaces for JavaServer applications. It provides the standard set of tools for creating a user interface. JavaServer Faces (JSF) is an MVC web framework.

What is JSF?

JSF technology includes a set of APIs representing different UI components and helps manage their states. JSF framework provides the flexibility of creating simple and complex applications. This technology uses the most popular Java server technologies. The JSF API provides components and helps to manage their states. It also offers server-side validation, data conversion, defining page navigation, provides extensibility, support for internationalization, accessibility, etc. JSF is built on top of the Servlet API.


  • Java: Java 7 or higher version
  • Java IDE
  • Server
  • JSF Library

JavaServer Faces Application

The functionality provided by a JavaServer Faces application is similar to that of any other Java web application. A typical JavaServer Faces application includes the following parts:

  • A set of web pages in which components
  • A set of tags to add components to the web page
  • The set of managed beans with minimal requirements
  • A web deployment descriptor
  • One or more application configuration resource files
  • A set of custom objects

JSF Component model

A UI component represents a stateful object on the server which provides specific functionality for interacting with an end-user. The base class for all UI components is an abstract class that defines the state information and its associated behavioral contracts. The UI component model is extensible and you can easily create new components by extending or aggregating existing components.

UI component classes

  • UICommand
  • UIForm
  • UIGraphic: Displays an image.
  • UIInput: Takes text input from a user
  • UIOutput: Displays text output on a page.
  • UIPanel: Displays a table.
  • UIParameter: Substitution parameters.
  • UISelectItem: Represents a single item in a set of items.
  • UISelectItems: Represents an entire set of items.
  • UISelectBoolean: This allows a user to set a Boolean value on control by selecting or de-selecting it
  • UISelectMany: The user selects multiple items from a group of items
  • UISelectOne: Allows a user to select one item out of a group of items

Thanks for Reading !!


Written by 

I am Software Consultant at Knoldus and I am curious about learning new technologies.