【问题标题】:How can you strip HTML comments out of a page generated with JSP/JSTL?如何从使用 JSP/JSTL 生成的页面中去除 HTML 注释?
【发布时间】:2010-04-19 21:43:19
【问题描述】:

我知道有些人使用 ANT 来实现这一点,但我不想从实际的 jsp 中删除 HTML cmets,我只是想要一种从输出中去除它们的方法,除非用户在 url 中添加一个参数来显示用于调试的 cmets。

【问题讨论】:

    标签: jsp parameters strip html


    【解决方案1】:

    您可以使用JtidyFilter 并将hide-comments 设置为true

    <init-param>
        <param-name>config</param-name>
        <param-value>hide-comments: true</param-value>
    </init-param>
    

    要使其更具可配置性,请在您自己的自定义过滤器中使用 JTidy。

    【讨论】:

    • 阅读我回答的最后一行。
    【解决方案2】:

    这里是HTMLCompressor lib,可以从代码中调用,也可以作为 JSP 标记调用以剥离 cmets 等等。

    【讨论】:

      【解决方案3】:

      简单地说,你需要在 JSP 前面加一个过滤器。对结果进行后处理。

      过滤器查看 HTTP 请求中的适当参数,并从那里决定是否过滤输出给用户的 HTML 结果。

      就执行过滤而言,您可以使用简单的正则表达式。 REGEX 的缺点就是您需要将整个传出结果复制到内存中,然后再将其发送给用户。这不仅会消耗内存,还会消耗时间,具体取决于结果的呈现方式。但是,理论上,一个 REGEX 可以工作。

      最好是一个流式 HTML 词法分析器来逐位读取内容,并以这种方式过滤掉 cmets。我不能推荐任何使用,我自己写的。

      但是,过滤器就是你想要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-24
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        • 1970-01-01
        • 2011-06-30
        相关资源
        最近更新 更多