What is JSF?
JSF is new standard framework, developed through Java Community Process (JCP), that makes it easy to build user interfaces for java web applications by assembling reusable components in a page. You can think of JSF framework as a toolbox that is full of ready to use components where you can quickly and easily add and reuse these components many times in a page and capture events generated by actions on these components. So JSF applications are event driven. You typically embed components in a jsp page using custom tags defined by JSF technology and use the framework to handle navigation from one page to another. Components can be nested within another component , for example, input box, button in a form.
JSF is based on well established Model-View-Controller (MVC) design pattern. Applications developed using JSF frameworks are well designed and easy to maintain then any other applications developed in JSP and Servlets.
JSF eases the development of web applications based on Java technologies. Here are some of benefits of using JSF:
- JSF provides standard, reusable components for creating user interfaces for web applications.
- JSF provides many tag libraries for accessing and manipulating the components.
- It automatically saves the form data and repopulates the form when it is displayed at client side.
- JSF encapsulates the event handling and component rendering logic from programmers, programmers just use the custom components.
- JSF is a specification and vendors can develop the implementations for JSF.
- There are many GUIs available these days to simplify the development of web based application based on JSF framework.
JSF includes mainly:
- Set of APIs to represent and manage state of components that helps server side validation, event handling, page navigation, data conversion etc.
- JSP custom tag library to create UI components in a view page.