1⟩ What is JavaServer Faces conversion model?
A mechanism for converting between string-based markup generated by JavaServer Faces UI components and server-side Java objects.
“JSF Interview Questions and Answers will teach us now that JavaServer Faces (JSF) is a Java-based Web application framework intended to simplify development integration of web-based user interfaces. JSF is a request-driven MVC web framework based on component driven UI design model, using XML files called view templates or Facelets views. Requests are processed by the FacesServlet, which loads the appropriate view template, builds a component tree, processes events, and renders the response”
A mechanism for converting between string-based markup generated by JavaServer Faces UI components and server-side Java objects.
A mechanism for determining how events emitted by JavaServer Faces UI components are handled. This model is based on the JavaBeans component event and listener model.
JavaServer Faces(JSF) is a framework for building web-based user interface in Java. Unlike Swing, JSF provides widgets like buttons, hyperlinks, checkboxes, etc. in different ways. It has extensible facilities for validating inputs and converting objects to and from strings for display.
JSF is the Java answer to Microsoft ASP.NET's Web Forms. ASP.Net is roughly equivalent to the Servlet and JSP
A simple expression language used by a JavaServer Faces UI component tag attributes to bind the associated component to a bean property or to bind the associated component's value to a method or an external data source, such as a bean property. Unlike JSP EL expressions, JavaServer Faces EL expressions are evaluated by the JavaServer Faces implementation rather than by the Web container.
A JavaServer Faces class that defines the behavior and properties of a JavaServer Faces UI component.
A mechanism for defining the sequence in which pages in a JavaServer Faces application are displayed.
JSP simply provides a Page which may contain markup, embedded Java code, and tags which encapsulate more complicated logic / html. JSF may use JSP as its template, but provides much more. This includes validation, rich component model and lifecycle, more sophisticated EL, separation of data, navigation handling, different view technologies (instead of JSP), ability to provide more advanced features such as AJAX, etc.
he series of steps followed by an application is called its life cycle. A JSF application typically follows six steps in its life.
1. Restore view phase
2. Apply request values phase
3. Process validations phase
4. Update model values phase
5. Invoke application phase
6. Render response phase
Component classes generally transfer the task of generating output to the renderer. All JSF components follow it. Render kit is a set of related renderers. javax.faces.render.RenderKit is the class which represents the render kit. The default render kit contains renderers for html but it’s up to you to make it for other markup languages. Render kit can implement a skin (a look & feel). Render kit can target a specific device like phone, PC or markup language like HTML, WML, SVG. This is one of the best benefit of JSF because JSF doesn't limit to any device or markup.
A user interface control that outputs data to a client or allows a user to input data to a JavaServer Faces application.
JSF application typically uses JSP pages to represent views. JSF provides useful special tags to enhance these views. Each tag gives rise to an associated component. JSF (Sun Implementation) provides 43 tags in two standard JSF tag libraries: 1. JSF Core Tags Library 2. JSF Html Tags Library Even a very simple page uses tags from both libraries. These tags can be used adding the following lines of code at the head of the page. <%@ taglib uri=”http://java.sun.com/jsf/core “ prefix=”f” %> (For Core Tags) <%@ taglib uri=”http://java.sun.com/jsf/html “ prefix=”h” %> (For Html Tags)
A mechanism for validating the data a user inputs to a JavaServer Faces UI component.
A framework for building server-side user interfaces for Web applications written in the Java programming language.