这是一个HTML缩小器,可以跳过<%
和%>
之间的所有内容。
实际上,开源HTML缩小器将是一个很好的起点,特别是如果它已经有代码来保存像<textarea
这样的某些块的内容。它的代码可能也可以保留<%%>
块。
我知道HTML minifiers不太常见,因为它比JS / CSS更频繁地更改并且通常是动态生成的,但是如果在编译缓存副本之前可以使JSP编译器缩小,则会导致缩小的HTML
此外,ASP minifier可能非常接近同样的事情。而且我不关心对服务器有意义的自定义标签。对服务器(对我公司而言)重要的唯一事情是<%%>
块。
答案 0 :(得分:10)
这个问题有点过时,但资源的回复仍然没有成为发布的方式。
HtmlCompressor使这件事成为可能而且非常简单。
您可以通过Java API使用它:
String html = getHtml(); //your external method to get html from memory, file, url etc.
HtmlCompressor compressor = new HtmlCompressor();
String compressedHtml = compressor.compress(html);
或者您可以通过Taglib使用它:
Download .jar file of the current release and put it into your lib/ directory
Add the following taglib directive to your JSP pages:
<%@ taglib uri="http://htmlcompressor.googlecode.com/taglib/compressor" prefix="compress" %>
Please note that JSP 2.0 or above is required.
在JSP中:
<compress:html removeIntertagSpaces="true">
<!DOCTYPE html>
...
</html>
</compress:html>
干杯
答案 1 :(得分:3)
JSP将转换转换为Java代码并随后编译为字节码。因此,缩小JSP没有任何意义。
您可以通过编写自定义过滤器来处理JSP页面生成的输出。我编写过滤器来修剪JSP输出中的空行和不必要的空格,遗憾的是它不公开。但如果你四处搜索,我相信你可以找到servlet过滤器来从生成的HTML中删除不需要的东西。
答案 2 :(得分:1)
查看Trim Filter(http://www.servletsuite.com/servlets/trimflt.htm),您只需在web.xml中映射即可。 它将帮助您删除空格,也可以删除注释。
根据我的经验,如果你使用自己没有任何输出的标签,例如JSTL C控制标签(c:if,c:choose,...),那么在JSP中会出现很多空白,然后这个非常方便。
答案 3 :(得分:0)
正如您已经意识到HTML缩小不太常见,并且有时会导致错误,而不是从中获得任何好处。 HTML也是动态生成的内容。
另一方面,有许多更好的方法可以加速应用程序前端。
WebUtilities 是一个小型的java库,可以帮助加速J2EE webapp前端。以下是链接。
使用新的0.0.4版本,它可以进行许多优化,从而显着提升性能。如果您觉得有用,请查看。