我正在经历一种疲惫的行为(至少在我眼里)。
当我从包含include的模板发帖时,不知何故丢失了DOCTYPE和html-tag。
假设我在使用包含widget.xhtml的template1.xhtml的home1.xhtml上进行了GET。现在我在home2.xhtml上发布一个POST。现在共识缺少DOCTYPE和html-tag。
如果我
直接在home2.xhtml或
将template1.xhtml中的include替换为include的内容并执行POST
DOCTYPE和html-tag在预期的响应中。
home1.xhtml:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="template1.xhtml">
<ui:define name="content">
</ui:define>
</ui:composition>
template1.xhtml:
<!DOCTYPE html>
<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>
</h:head>
<h:body>
Called with GET
<ui:include src="widget.xhtml" />
<h:form>
<h:commandLink action="#{homeBean2.show}" value="POST" />
</h:form>
</h:body>
</html>
wigdet.xhtml:
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html" >
<h:form id="someForm">
</h:form>
</ui:composition>
home2.xhtml:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="template2.xhtml">
<ui:define name="content">
POST 1
</ui:define>
</ui:composition>
template2.xhtml:
<!DOCTYPE html>
<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>
</h:head>
<h:body>
template 2
</h:body>
</html>
如何让DOCTYPE和html-tag显示在呈现的页面中?
任何提示我在这里缺少什么?
强尼