如何从使用JSP / JSTL生成的页面中删除HTML注释?

时间:2010-04-19 21:43:20

标签: jsp parameters strip html

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

3 个答案:

答案 0 :(得分:2)

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

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

为了使其更易于配置,请在您自己的自定义过滤器中使用JTidy。

答案 1 :(得分:1)

以下是HTMLCompressor lib,可以从代码中调用,也可以作为JSP标记调用以删除注释等。

答案 2 :(得分:1)

简而言之,您需要在JSP前面使用过滤器。要对结果进行后期处理的事情。

过滤器查看相应参数的HTTP请求,并从那里决定是否将传出的HTML结果过滤给用户。

就执行过滤而言,您可以使用简单的REGEX。 REGEX的缺点就是您需要在将结果发送给用户之前将整个传出结果复制到内存中。这不仅消耗内存,而且消耗时间,具体取决于结果的呈现方式。但是,从理论上讲,REGEX可以发挥作用。

最好是流式HTML词法分析器逐位读取内容,并以这种方式过滤掉注释。我不能建议任何使用,我自己写。

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