我正在尝试输出符合HTML5的页面,但是JSF生成了XML序言。我该如何预防呢?
index.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
template="/WEB-INF/templates/layout.xhtml">
</ui:composition>
layout.xhtml
<!DOCTYPE html>
<html xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<f:view locale="#{userContext.locale}">
<h:head>
...
</h:head>
<h:body>
...
</h:body>
</f:view>
</html>
产生的输出
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html><head>...
我正在使用Mojarra 2.2.5。
我了解这个问题。我简化了上面的示例,但还通过以下方式包括了复合组件:
index.xhtml
<ui:composition template="/WEB-INF/templates/layout.xhtml"
...
xmlns:myapp="http://myapp.com/jsf/core">
myapp复合
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:p="http://primefaces.org/ui">
...
不幸的是,其中的复合文件之一myapp
是声明XML序言。出于某种原因,我不理解,使用声明XML序言的组合可以有效地将XML序言添加到主文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句