我注意到在 JSF 2.1.* 中,我的 IE 条件注释不再起作用。各种字符正在被 HTML 实体替换并使注释语法无效。BalusC 在另一个使用 h:outputText的问题中指出了该问题的解决方案。我的问题是我希望我的条件评论位于页面顶部,围绕第一个元素。这意味着我不能使用 h:outputText 因为我还没有定义它的命名空间。我相信无论如何都是正确的。这是一个代码示例。
现在大多数 JSF 页面都会以类似于 HTML5 Boilerplate 语法的模板开始:
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7 my-application" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8 my-application" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9 my-application" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js my-application" xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" lang="en"><!--<![endif]-->
<h:head>
<meta charset="utf-8" />
...
使用 BalusC 提到的解决方案,我希望<h:outputText />
在第 2 行,但尚未定义 h 命名空间。这是一个我可以使用的元素,我可以将各种命名空间附加到但不会影响我的最终 HTML?还有什么其他想法可以解决这个问题吗?
李,