JSF 2.0 Facelets template inheritance
This is an extended repost of JSF 2.0 Facelets nested templates inheritance, which was loosely asked and formally answered.
Here is my easy_to_earn question:
template_base.xhm开发者_StackOverflow中文版l
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head><!-- header stuff --></h:head>
<h:body>
<!-- Lot of html here -->
<div id="main">
<ui:insert name="main_content"/>
</div>
<!-- Lot of html here -->
</h:body>
</html>
Next, I want another template, form_wrapped.xhtml, which would extend base_template.xhml but with main_content
wrapped by <h:form>
:
<div id="main">
<h:form>
<!-- "main_content" goes here -->
</h:form>
</div>
And the page itself:
<ui:composition template="/WEB-INF/templates/form_wrapped.xhtml">
<ui:define name="main_content">
<!-- this html is wrapped by form -->
</ui:define>
</ui:composition>
How do I do this?
Make your form_wrapped
template like this:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/WEB-INF/templates/main_wrapped.xhtml">
<ui:define name="main_content">
<div id="main">
<h:form>
<ui:insert name="form_content" />
</h:form>
</div>
</ui:define>
</ui:composition>
精彩评论