JBoss Tools 3 Developers Guide
上QQ阅读APP看书,第一时间看更新

Overview of JSF

Java Server Faces (JSF) is a popular framework used to develop User Interfaces (UI) for server-based applications (it is also known as JSR 127 and is a part of J2EE 1.5). It contains a set of UI components totally managed through JSF support, like handling events, validation, navigation rules, internationalization, accessibility, customizability, and so on. In addition, it contains a tag library for expressing UI components within a JSP page. Among JSF features, we mention the ones that JSF provides:

  • A set of base UI components
  • Extension of the base UI components to create additional UI component libraries
  • Custom UI components
  • Reusable UI components
  • Read/write application date to and from UI components
  • Managing UI state across server requests
  • Wiring client-generated events to server-side application code
  • Multiple rendering capabilities that enable JSF UI components to render themselves differently depending on the client type
  • JSF is tool friendly
  • JSF is implementation agnostic
  • Abstract away from HTTP, HTML, and JSP

Speaking of JSF life cycle, you should know that every JSF request that renders a JSP involves a JSF component tree, also called a view. Each request is made up of phases. By standard, we have the following phases (shown in the following figure):

  • The restore view is built
  • Request values are applied
  • Validations are processed
  • Model values are updated
  • The applications is invoked
  • A response is rendered
  • During the above phases, the events are notified to event listeners
    Overview of JSF

We end this overview with a few bullets regarding JSF UI components:

  • A UI component can be anything from a simple to a complex user interface (for example, from a simple text field to an entire page)
  • A UI component can be associated to model data objects through value binding
  • A UI component can use helper objects, like converters and validators
  • A UI component can be rendered in different ways, based on invocation
  • A UI component can be invoked directly or from JSP pages using JSF tag libraries

Note that these are the theoretical aspects of the JSF framework meant to get you familiar with the model and components of the JSF engine. For practical examples and a complete tutorial, you can access resources like http://java.sun.com/javaee/javaserverfaces/reference/docs/.

If you have never worked with JSF or have less experience in doing so, then it is absolutely mandatory to access a more detailed documentation before going further.