JavaServer Faces
From Free net encyclopedia
JavaServer Faces (JSF) is a Java-based Web application framework that simplifies the development of user interfaces for Java EE 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:
- A set of APIs for representing user interface (UI) components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility
- A default set of UI components
- Two JavaServer Pages (JSP) custom tag libraries for expressing a JavaServer Faces interface within a JSP page.
- A server-side event model
- State management
- Managed Beans (JavaBeans created with dependency injection)
The JSF specification was developed under the Java Community Process as JSR 127, which defined JSF 1.0 and 1.1. As of 2006, JSF 1.2 is being developed as JSR 252.
Contents |
[edit]
JSF goals
The following eight design goals represent the focus of JSF development:
- 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.
- 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.
- 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.
- Provide a JavaBeans model for dispatching events from client-side GUI controls to server-side application behavior.
- Define APIs for input validation, including support for client-side validation.
- Specify a model for internationalization and localization of the GUI.
- Automatic generation of appropriate output for the target client, taking into account all available client configuration data, such as browser version, etc.
- Automatic generation of output containing required hooks for supporting accessibility, as defined by WAI.
[edit]
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
[edit]
JSF implementations
JSF implementations currently known are:
- Sun's JSF Reference Implementation
- Apache MyFaces project
[edit]
Toolkits
- Oracle's ADF Faces
- Oracle's JDeveloper : Visual JSF development and complete J2EE IDE that includes ADF Faces.
- ICEfaces : Complete AJAX-enabled JSF component library.
- Rialto JSF : JSF encapsulation of Rialto.
- WebGalileo Faces : Customizable reusable user interface components with support for JSF
- Xulfaces – Add XUL power to JSF
- Java Studio Creator 2 : Supports drag-and-drop creation of web-applications; includes a new set of JSF components.
[edit]
See also
[edit]
References
- JSF home page
- JSF specification
- JSR 252 (JSF 1.2)
- JSR 127 (JSF 1.0 and 1.1)
[edit]
Books
- Jonas Jacobi, John R. Fallows: Pro JSF and Ajax, Apress, ISBN 1590595807
- Chris Schalk, Ed Burns, James Holmes: JavaServer Faces: The Complete Reference, McGraw-Hill Osborne Media, ISBN 0072262400
- David Geary, Cay Horstmann: Core JavaServer Faces, Prentice-Hall, ISBN 0131463055
- Kito D. Mann: JavaServer Faces in Action, Manning Publications Company, ISBN 1932394125
- Bill Dudney, Jonathan Lehr, Bill Willis, LeRoy Mattingly: Mastering JavaServer Faces, John Wiley & Sons, ISBN 0471462071
- Hans Bergsten: JavaServer Faces, O'Reilly & Associates, ISBN 0596005393
- Budi Kurniawan, Nancy Maragioglio: JavaServer Faces Programming, McGraw-Hill Osborne Media, ISBN 0072229837
- James Turner, Craig McClanahan, Kunal Mittal: JavaServer Faces Kick Start, SAMS, ISBN 0672325993
[edit]
External links
- Core Servlets Tutorials Core Servlets Tutorials Page
- JSR 276 Design-Time Metadata for JavaServer Faces Components
- James Holmes' JSF Resources Extensive listing of JSF articles, blog entries, tutorials, and more
- JSF Central JavaServer Faces Community
- JSF FAQ a large FAQ about Java Server Faces
- JSF part of Java EE tutorial
- JSF Tutorials, Examples and Articles catalog
- JSF and AJAX It is about collaboration.
- JSF database tutorials, discussions Real case studies and examples.
fr:JSF it:JSF pt:JavaServer Faces vi:JSF tr:Java Server Faces (JSF)