是否可以告訴Mojarra 2.2在生成的html頁面中呈現哪個DocType?如何在JSF 2.2中指定目標DOCTYPE?
它似乎總是呈現以下HTML5文檔類型:
<!DOCTYPE html>
在我們使用下面的DOCTYPE聲明我們的facelet模板,我們要保持它在生成的HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
模板:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:body>
<ui:insert name="content">Will be replaced</ui:insert>
</h:body>
</html>
內容:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
template="/templates/standalone.xhtml">
<ui:define name="content">
<h:panelGroup>
Foo
</h:panelGroup>
</ui:define>
</ui:composition>
結果:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><body>
Foo
</body>
</html>
我嘗試了用鑽嘴魚科2.2.7和2.2.12中使用GlassFish 4.1。
這不是默認行爲。因此,如果您告訴確切的Mojarra版本,在問題中包含單個文件MVCE(因爲您說有「模板」而存在相當多的模糊性),和/或同時嘗試當前最新版本( 2.2.12)。 – BalusC
我添加了一個例子,並用Mojarra 2.2.12與相同的結果進行了嘗試。 – anotherUser
我轉載了它。這確實不是所謂的行爲。 – BalusC