Java Server Faces (JSF) technology is a front end framework which makes the creation of user interface components easier by reusing the UI components. JSF is designed based on the Model View Controller pattern (MVC) which segregates the presentation, controller and the business logic.
Q2. What are JSF life cycle phases?
There are six lifecycle phases namely;
Restore view phase
Apply request values phase
Process validations phase
Update model values phase
Invoke application phase
Render response phase
Q3. List some of the facelets tags?
Some of the important facelets tags are;
Q4. What is the significance of @ManagedProperty annotation?
The @ManagedProperty
annotation enables us to inject a managed bean into another managed bean.
Q5. What does @ApplicationScoped annotation indicate?
The @ApplicationScoped
annotation indicates that the bean is valid as long as the web application is valid.
Q6. Different types of Page Navigation supported in JSF?
The types of Page navigation supported in JSF are
Q7. What is a Managed Bean?
A managed bean is a java class registered to JSF which makes interaction between the UI and the business logic possible. Managed Beans can be created using @ManagedBean annotation.
Q8. What are the three types of text fields tags provided by JSF?
The three types of text field tags are;
Q9. What are immediate and deferred value expressions?
Immediate expressions are evaluated and results are rendered as soon as the page is displayed initially. The syntax for immediate evaluation is ${}
.
Deferred expressions are evaluated during the lifecycle phase whenever it is requested by the user. The syntax for deferred evaluation is #{expression}
.
Q10. What is Resource bundling in JSF?
The phenomenon of storing the UI labels, date, status messages and other UI textual elements in a separate properties file instead of hardcoding these in a page is called resource bundling.
We can use h:outputLabel
element to pick these values from resource bundle properties file in JSF view pages.
Q11. Explain the required and requiredMessage attribute of the <h:inputText> tag?
Required attribute indicates that the field is mandatory when set to true. The requiredMessage attribute allows users to specify their own message for the ui components when the fields are mandatory. They are used for declarative validations in JSF view pages.
Q12. Explain value expression and method expressions?
Value expressions usually fetch a value or set a value. These expressions can be further categorized into rvalue and lvalue expressions. lvalue expressions can both read and write data whereas rvalue expressions can only read data.
A method expression allows user to invoke a public method of the bean that returns the result necessary for validating the data component and handling events.
Q13. What are the different types of validations in JSF?
There are two types of validations namely;
Q14. What are different types of expressions supported by JSF EL?
JSF Expression Language supports following types of expressions.
Q15. What is an event?
An event is defined as a signal triggered based upon the user actions such as click of button, hyperlink, changing the input value etc. JSF tells the component to invoke the appropriate listener class that process the event generated by the user.
Q16. How can we obtain the generated event?
The generated event can be obtained by calling event.getComponent as
UIComponent ui = new UIComponent(); MyFacesEvent ev1 = new MyFacesEvent(ui); UIComponent sc1 = ev1.getComponent();
Q17. What are the different types of JSF events?
There are three types of JSF events namely
Q18. What is a listener class?
A class which is associated with an event is called a listener class. For example, if the event is a valueChange event then the corresponding listener class ValueChangeListener
is associated with it.
Q19. What is the significance of facelets tag?
JSF provides a special set of tags that gives the flexibility to manage common tags/parts in one place for more than one application. These tags allow us to create a common layout that can be used across applications. You can include facelets tags using below code;
<html xmlns=“http://www.w3.org/1999/xhtml” xmlns:ui=“http://java.sun.com/jsf/facelets” >
Q20 . Explain @ViewScoped, @SessionScoped, @CustomScoped and @RequestScoped annotations?
@ViewScoped: annotation indicates that the bean is alive as long as the user interacts with the same JSF view page in the browser.
@SessionScoped: annotation indicates that the bean is valid as long as the HTTP session is alive.
@CustomScoped: annotation indicates that the bean lives as long as the bean’s entry in the custom Map which is created for this scope lives.
@RequestScoped: annotation indicates that the Bean lives as long as the HTTP request-response lives.
Q21. Mention some of the attributes of <h:form> tag?
The important h:form tag attributes are;
Q22. What are the command component tags used for action and navigation?
The command component tags for performing action and navigation are
Q23. What are Data Bound table components?
The components that are responsible for displaying the relational data in a tabular format are called data bound table components. The <h:dataTable> tag is used for displaying the data components. The <h:column> tag iterates over each record in the data source displayed in rows.
Some of the attributes of the h:dataTable tag are;
Q24. Mention some of the validator tags used in JSF?f:validateLength: Validates length of a string
Q25. What are the benefits of using JSF Framework?
Some of the benefits of using JSF framework are;
Q26. Explain different ways of declaring a managed bean in JSF?
@ManagedBean
annotation in the java class indicating that the class is a managed bean as;Q27. What is the significance of name and eager attributes in managed bean?
name: The name attribute indicates the managed bean with the name specified. If the name is not specified then the bean name is same as the class name.
eager: If eager is set to “true” then managed bean is created before it is requested for the first time and if set to false the bean is created when it is requested.
Q28. What is a backing bean?
A JavaServer Faces application includes one or more backing beans, each of which is a type of managed bean that can be associated with the components used in a particular page.
Q29. List the benefits of Expression Language?
Q30. What are different implementations of JSF API?
Q31. Mention some of the functions that the backing bean method performs?
Q32. What are standard JSF tag libraries?
Use below namespace configurations to use them in JSF xhtml pages.
<html xmlns=“http://www.w3.org/1999/xhtml” xmlns:h=“http://java.sun.com/jsf/html” xmlns:ui=“http://java.sun.com/jsf/facelets” xmlns:c=“http://java.sun.com/jsf/core”>
The html tags can now be used as with the h prefix as <h:head>,<h:form> etc and core tags with c prefix as <c:validateBean>,<c:validator> etc.
Q33. What are different JSF Converter tags?
Q34. How different components are rendered in JSF page?
JSF components are rendered in the xhtml pages by the tag libraries included, such as JSF core, html and facelets tag libraries.