【问题标题】:JSF display HTML commentJSF 显示 HTML 注释
【发布时间】:2011-05-13 10:22:00
【问题描述】:

我正在使用 JSF 2.0 并已定义属性 javax.faces.FACELETS_SKIP_COMMENTS 以跳过 JSF 代码中的 cmets,因为还有很多其他代码,正在开发 cmets 等。但我需要将一些 HTML cmets 打印到客户端的浏览器中,例如。用于为其他浏览器定义替代条件样式表。

请问有什么办法吗?因为我所有的尝试都失败了。

【问题讨论】:

    标签: html jsf jsf-2


    【解决方案1】:

    这是粗略的,但它确实有效(在 JSF 1.2 下无论如何都没有在 2 中测试)

    <h:outputText value="&lt;!--" escape="false" /> My comment <h:outputText value="--&gt;" escape="false" />
    

    【讨论】:

    • 好主意,我现在在评论中遇到了 jsf 标签的问题,比如 css call for ie,我正在使用它
    【解决方案2】:

    使用&lt;ui:remove&gt; 来移除 cmets 而不是上下文参数。

    【讨论】:

    • 是的,我知道这一点,但这真的很不舒服,特别是如果我考虑不应该在 HTML 中呈现的 cmets 数量并且我有一个现有的项目
    • 抱歉,没办法。只需使用 Ultraedit、Notepad++ 和 Editplus 等“在所有文件中查找和替换”功能,在一个体面的文本编辑器中打开所有文件。将&lt;!-- 替换为&lt;ui:remove&gt;&lt;!--,将--&gt; 替换为--&gt;&lt;/ui:remove&gt;。应该不会超过几分钟。
    • 好的,谢谢您的建议。这可能是唯一可能的解决方案:-(
    【解决方案3】:

    也许你可以使用 f:verbatim:

    <f:verbatim>&lt;!--[if lt IE 7]&gt;
        Something just for lower than IE7
    &lt;![endif]--&gt;</f:verbatim>
    

    【讨论】:

      【解决方案4】:

      基于@Juan 和@reevesy 的想法是这样的:

      <f:verbatim>&lt;!--
          This is a happy HTML comment :)
      --&gt;</f:verbatim>
      

      将渲染:

      <!--
          This is a happy HTML comment :)
      -->
      

      【讨论】:

        猜你喜欢
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-27
        • 1970-01-01
        相关资源
        最近更新 更多