我应该在JSF页面中使用什么Doctype?前几天,我试图从Mojarra 2.1.13迁移到2.1.18,但文档类型的解释方式似乎发生了变化。在根模板中,我有以下DOC类型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">我还需要包括这个吗?
<?xml version="1.0"?>在组合(使用这个模板)中,我曾经有过以下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似乎并不真正支持这一点。此外,我在任何JSF2.0参考中都没有找到这一点,这是我们过去在JSF1.2中使用的。如果我在复合页面中有这个doctype,它将呈现复合doctype,而不是模板中的html。结果,css样式变得一团糟。
那么,在JSF2.0中doctypes的正确用法是什么呢?或者这是Mojarra的问题?我没有找到任何关于这方面的参考资料。
发布于 2013-04-19 22:51:01
为此,我创建了一个JIRA问题:http://java.net/jira/browse/JAVASERVERFACES-2820
它已经被关闭,因为这是预期的行为。
“复合页面是您实际使用模板的地方。因此,它是您指定文档类型的最外层文件。因此,它定义了将呈现的文档类型。”
只需在模板中指定doctype,而不在其他地方指定
发布于 2013-04-18 16:39:58
我还将Jboss 7.1迁移到了JBoss EAP6.1
我发现不是很好的解决办法-在每个页面上插入(而不是模板):
<!DOCTYPE html>例如:
<!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:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html" template="template.xhtml"> 有没有其他方法--让doctype从主模板中读取?
https://stackoverflow.com/questions/15770100
复制相似问题