JSF is a standard to implement Java based web framework. There is a reference implementation of the standard, Mojarra JSF, which provides the request processing and a set of basic components. JSF is component oriented and as such it brings the concepts of desktop application development to web application. JSF 2 introduces a number of new features. It provides a standardized mechanism to support Ajax, input validation using annotations (JSR 303), facelets as default rendering engine and a couple of more features required by modern web application. The standard implementation does only provide basic components which mirror the standard HTML input components but one idea of the standard is that other companies can provide component libraries with advanced widgets like trees, grids etc. There are a number of third party component libraries like ADF Faces, Trinidad, ICEFaces, PrimeFaces, RichFaces, NetAdvantage, JViews and many others.
- David Schlosnagle