如何从JSP/JSTL生成的页面中剥离HTML注释?

如何从JSP/JSTL生成的页面中剥离HTML注释?,jsp,parameters,strip,html,Jsp,Parameters,Strip,Html,我知道有些人使用ANT来实现这一点,但我不想从实际的jsp中删除HTML注释,我只是想要一种从输出中剥离它们的方法,除非用户向url添加一个参数来显示注释以进行调试。这里是可以从代码中调用的,或者可以作为JSP标记来剥离注释等。这里是可以从代码中调用的,或者作为JSP标记来剥离注释等。简单地说,在JSP前面需要一个过滤器。要对结果进行后期处理的内容 过滤器查看HTTP请求以获得适当的参数,并从中决定是否过滤发送给用户的HTML结果 至于执行过滤,您可以使用一个简单的正则表达式。正则表达式的缺点是

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

这里是可以从代码中调用的,或者可以作为JSP标记来剥离注释等。

这里是可以从代码中调用的,或者作为JSP标记来剥离注释等。

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

过滤器查看HTTP请求以获得适当的参数,并从中决定是否过滤发送给用户的HTML结果

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

最好是一个流式HTML lexer,一点一点地读取内容,并以这种方式过滤掉评论。我不能建议任何人使用,我自己写的


但是,过滤器是您想要的。

简单地说,您需要在JSP前面有一个过滤器。要对结果进行后期处理的内容

过滤器查看HTTP请求以获得适当的参数,并从中决定是否过滤发送给用户的HTML结果

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

最好是一个流式HTML lexer,一点一点地读取内容,并以这种方式过滤掉评论。我不能建议任何人使用,我自己写的

但是,您需要的是一个过滤器。

您可以使用设置为
true

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

配置
隐藏注释:true
要使其更易于配置,请在您自己的自定义筛选器中使用JTidy。

您可以在设置为
true时使用

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

配置
隐藏注释:true

要使其更易于配置,请在您自己的自定义筛选器中使用JTidy。

阅读我答案的最后一行。阅读我答案的最后一行。