我需要一些浏览器特定的CSS在我的JSF2应用程序(Mojarra 2.1,Tomcat 7)。基于浏览器的CSS开关JSF
我尝试添加到我的模板:
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="#{cfgs.externalCssUrlIE8}" />
<![endif]-->
但注释不渲染,因为我还使用:
<context-param>
<!-- Removes any comments from the rendered HTML pages. -->
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
我的问题......当我禁用`javax.faces.FACELETS_SKIP_COMMENTS ,我得到了一堆其他问题..我也不认为我的源代码注释属于生成的页面。
我也试图把开关CDATA,如:
<![CDATA[
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="#{cfgs.externalCssUrlIE7}" />
<![endif]-->
]]>
但内心<呈现为HTML实体..: - /,所以它不工作。
问:还有其他解决方案吗?是否存在任何JSF2标签来处理这个问题?外部标签库?
由于提前, 史蒂夫
谢谢。有用! 我也试过,但你是正确的:丑陋的逃生h:outputText似乎是唯一的解决方案。 –
alfonx
不客气。请注意'''在JSF2中被**弃用**。它完全没有价值,因为完全允许/支持在Facelets中嵌入纯HTML(自JSP上的JSF 1.2开始也是如此)。为了在Facelets中有条件地呈现纯HTML(就像你以前用''做的那样),你应该用''来代替 –
BalusC
好的解决方法,即使它很丑。 ..再次,你救了我:) –