Sun's JavaServer Faces (JSF) technology (JSR-127) is the standard Java API for building user
interface components in web applications. JSF defines a component-based web application
framework, enabling vendors and open source projects to create sophisticated user-interface
widgets that you can then develop to create easy-to-use web applications, with portability
between tools and application servers. Its list of features is as follows:
Standard component API for user interface components. The range is from simple
input fields to more complex tree controls and menus, to sophisticated scrollable tables
which allow both input and output. Components also support standard JavaBeans style
events and event listeners.
Decoupled rendering model. The same component can be rendered in different ways,
for example, a command component used to submit a form can be rendered as either a button
or a hyperlink.
Request processing lifecycle. The lifecycle focuses on the handling of user interface
events (such as the node of a tree control being expanded or contracted), coupled with
support for data type conversions and component level validation rules.
Utility technologies supporting the component APIs. This includes value binding
and method binding expressions, managed beans (create on demand), and page navigation
support.
For a complete description of the JSF framework, including documentation and tutorials, see:
Other web application frameworks are available. They can be integrated with the IDE just as
easily as the JSF technology. Some of the more popular alternative web application frameworks
are as follows:
Grails.
Struts.
Spring.
Tapestry.
Hibernate.
When you use the IDE to add the framework's tag libraries in your web application's
WEB-INF/lib folder, and the JSP file has taglib directives with URIs for
the parts of the libraries that you are using, the Source Editor provides code completion
for these libraries.