Jump to content

Jakarta Faces

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by YurikBot (talk | contribs) at 23:36, 5 January 2006 (robot Adding: pt). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

JavaServer Faces (aka JSF) is a Java-based web application framework that simplifies the development of user interfaces for J2EE applications. Out of the box, JSF uses JavaServer Pages for its display technology, but JSF can also accommodate other display technologies, such as XUL, for example. JSF includes:

  1. A set of APIs for representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility
  2. A default set of components
  3. Two JavaServer Pages (JSP) custom tag libraries for expressing a JavaServer Faces interface within a JSP page.
  4. A server-side event model
  5. State Management
  6. Managed Beans (JavaBeans created with dependency injection)

The JSF specification is defined by JSR 127 of the Java Community Process.

JSF Goals

The following 8 design goals represent the focus of JSF development:

  1. Create a standard GUI component framework which can be leveraged by development tools to make it easier for tool users to both create high quality GUIs and manage the GUI's connections to application behavior.
  2. Define a set of simple lightweight Java base classes for GUI components, component state, and input events. These classes will address GUI lifecycle issues, notably managing a component's persistent state for the lifetime of its page.
  3. Provide a set of common GUI components, including the standard HTML form input elements. These components will be derived from the simple set of base classes (outlined in #1) that can be used to define new components.
  4. Provide a JavaBeans model for dispatching events from client-side GUI controls to server-side application behavior.
  5. Define APIs for input validation, including support for client-side validation.
  6. Specify a model for internationalization and localization of the GUI.
  7. Automatic generation of appropriate output for the target client, taking into account all available client configuration data, such as browser version, etc.
  8. Automatic Generation of output containing required hooks for supporting accessibility, as defined by WAI.

JSF Versions

  • JSF 1.0 - the initial release of JSF specification
  • JSF 1.1 - bug fix release. There were no spec or HTML renderkit changes.
  • JSF 1.2 - release in preparation which is defined by JSR 252.
    • enhancements to provide an interim solution to the content-interweaving problem described at http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html
    • provide XML Schema for the config files, instead of using DTD
    • enhancements to allow faces applications to handle multi-frame, or multi-window UI designs
    • enhancements to the f: tag library for improved TCK coverage, f:view lifetime events, and other small features
    • enhancements to the decorator support for API objects
    • security enhancements for client side state saving
    • solve the "duplicate button press" problem
    • re-organize the spec into normative, and non-normative sections, to make implementation easier.
    • portlet related bug-fixes
    • bug fixes that require minimal spec changes

JSF Implementations

Two JSF implementations are currently known:

Toolkits

  • ICEfaces : Complete Ajax-enabled JSF component library.
  • Rialto JSF : JSF encapsulation of Rialto.

See also

References

Books