Internet explorer JSF2.1.7呈现<--[如果IE]>;标记为文本

Internet explorer JSF2.1.7呈现<--[如果IE]>;标记为文本,internet-explorer,jsf-2,facelets,conditional-comments,Internet Explorer,Jsf 2,Facelets,Conditional Comments,我们将JSF升级到最新版本2.1。之前我们使用的是JSF2.0.4。我们的xhtml页面使用条件注释标记(未呈现为文本)以IE为目标 但在新的JSF2.1.7中,这将在IE中呈现为文本。有没有办法绕过这个问题?用代替 <h:outputText value="&lt;!--[if IE]&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&

我们将JSF升级到最新版本2.1。之前我们使用的是JSF2.0.4。我们的xhtml页面使用条件注释标记(未呈现为文本)以IE为目标

但在新的JSF2.1.7中,这将在IE中呈现为文本。有没有办法绕过这个问题?

代替

<h:outputText value="&lt;!--[if IE]&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;ie.css&quot;/&gt;&lt;![endif]--&gt;" escape="false" />

您可以执行以下操作:

<f:verbatim>
  <!--[if lte IE 8]>
    <script src="js/conditional-comment.js"></script>
  <![endif]-->
</f:verbatim>


很抱歉,现在无法从头开始回答。我们总是使用
javax.faces.FACELETS\u跳过\u注释
。这些症状至少表明注释的呈现方式已经改变,不再解释注释中任何封闭的HTML/JSF代码(这当然是有意义的)。丑陋的解决方案,但看起来似乎是唯一可能的方式。不久之后,它提供了一个
组件,用于不那么丑陋的目的。另请参见showcase:
自JSF2.0以来就被弃用了。