Programming Tutorials

JSF Basics

By: Daniel Malcolm in JSF Tutorials on 2007-09-18  

The JSF specification lists the following ways that JSF helps web-application developers to create user interfaces (UIs):

  • Makes it easy to construct a UI from a set of reusable UI components
  • Simplifies migration of application data to and from the UI
  • Helps manage UI state across server requests
  • Provides a simple model for wiring client-generated events to server-side application
  • Allows custom UI components to be easily built and reused

UI development is easier because UI components are provided as reusable objects. A number of classes, corresponding to UI components, are part of the JSF specification and implementation. Rather than have to worry about the syntax of page layout, you simply drop the UI components into your application. A custom render kit and rendering process convert the components into appropriate page-layout code. The JSF implementation comes with a default render kit for HTML, but the same JSF code can be rendered by other render kits for other client systems. This means that you can use the same JSF code for a variety of client systems, and use different render kits to customize the UI for each client system.

Moving application data to and from the UI is simplified by letting the JSF implementation handle the mechanics of data transfer. You simply specify which data goes where, and the JSF implementation handles the process of moving the data from UI objects to business objects and vice versa. The JSF implementation automatically manages state across user requests, so you do not need to manage or implement any session handling.

Just as it simplifies data handling, JSF provides an easy way to manage event handling. You specify the events of interest and the business objects or classes to handle the events, and the JSF implementation takes care of calling the appropriate methods to handle any events that are generated. The JSF event-handling model is similar to those used in other UI frameworks, such as Java Swing. Specifically, this means that multiple event listeners can respond to a single event.

Finally, because JSF is based on reusable components, it provides a design that allows you to easily create and integrate your own components or third-party components into your JSF-enabled applications. If you are a vendor, JSF allows you to create custom components that can be marketed to developers and page designers.

As with all the enterprise Java technologies, detailed information about the technology can be found in the JSF specification, which can be found at

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in JSF )

Latest Articles (in JSF)