JSF subview Tag
This tag is used to create the sub-view of the view. It contains all JSF tags in a page that is included in another JSP page. It acts as a naming container so that the components inside it can be made unique. This naming container contains JSF tags on a nested page by <jsp:include> or the tag which includes the page dynamically. To include another JSP or JSF page, using <jsp:include> or <c:import>, we must use <f:subview> tag around it so that JSF process the included file properly. subview.jsp is the main page where subview tag is used to include next.jsp page.
Code Description :
subview.jsp :
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <f:view locale="fr"> <html> <head> <link href="corestyle.css" rel="stylesheet" type="text/css"/> </head> <body> <h:form> <h:outputText value="Enter your name below"/><br><br> <h:inputText id="ab" value="#{MessageBean.b}" required="true"/> <h:message for="ab" errorClass="errors"/><br><br> <h:commandButton value="go"/><br><br><br> <f:subview id="next"> <jsp:include page="next.jsp" /> </f:subview> </h:form> </body> </html> </f:view> |
next.jsp :
<hr> <b> RoseIndia JSF tutorial</b> <hr> |
Rendered Output :
Html Source Code :
<html> <head> <link href="corestyle.css" rel="stylesheet" type="text/css"/> </head> <body> <form id="_id0" method="post" action="/coretag/pages/subview.jsf" enctype="application/x-www-form-urlencoded"> Enter your name below<br><br> <input id="_id0:ab" type="text" name="_id0:ab" /> <br><br> <input type="submit" name="_id0:_id3" value="go" /><br><br><br> <hr><b> RoseIndia JSF tutorial</b><hr> <input type="hidden" name="_id0" value="_id0" /></form> </body> </html> |
Attributes that this tag uses are given below :
id : This is used to uniquely identify this component within the scope of
enclosing naming container.
binding : It takes value binding expression to bind this component to the
backing bean property.
rendered : It takes the boolean value (default value is
"true") that is used to specify whether this component should be
rendered or not.