我应该在 JSF 页面中使用什么 Doctype?前几天我试图从 Mojarra 2.1.13 迁移到 2.1.18,似乎解释文档类型的方式发生了变化。在根模板中,我遵循 DOC TYPE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
我也必须包括这个吗?
<?xml version="1.0"?>
在复合 Material (使用此模板)中,我曾经有以下 doctype
<!DOCTYPE composite PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
但似乎 Mojarra 2.1.18 并不真正支持这一点。我也没有在任何 JSF 2.0 引用中找到这个,这是我们过去在 JSF 1.2 中使用的。如果我在复合页面中有这个 doctype,它将呈现复合 doctype 而不是模板中的 html。结果就是css样式乱七八糟。
那么 JSF 2.0 中文档类型的正确用法是什么?或者这是 Mojarra 的问题?我没有找到任何关于此的引用。
最佳答案
我为此创建了一个 JIRA 问题:http://java.net/jira/browse/JAVASERVERFACES-2820
它已被关闭,因为这是预期的行为。
“复合页面是您实际使用模板的地方。因此,它是您指定文档类型的最外层文件。因此,它定义了将要呈现的文档类型。”
只需在模板中指定文档类型即可
关于jsf-2 - JSF Mojarra 中的文档类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770100/