JSF provides developers capability to create Web application from collections of UI components that can render themselves in different ways for multiple client types (for example HTML browser, wireless or WAP devise).
JSF provides
1: Core library
2:A set of base UI components - standard HTML input elements
3: Extension of the base UI components to create additional UI component libraries or to extend existing components.
4: Multiple rendering capabilities that enable JSF UI components to render themselves differently depending on the client types