日期:2014-05-17  浏览次数:20562 次

去除JSP生成HTML时的空白行

使用了JSP的开发者都知道,JSP编译后生成的HTML中含有大量空白行,这些空白一般情况并不碍事,顶多降低对搜索引擎的友好度和 HTML的可读性。但是使用JSP生成XML文件时,如果“<?xml” 头申明不位于首行顶头的话,严格的解析器会报错,像Opera浏览器。

???? 这个问题困扰了我很久,加上我使用了大量的Taglib,如JSTL标签。致使我的HTML页面一大块一大块秃秃的“白荒地”,看起来很别扭。我一直在搜索引擎中搜索解决方案,却只有提问者,没有解决方法。今天忍不住又搜索了一把,终于 去除JSP留下的空白行 一文能比较好的解决这个问题了。

???? 原来tomcat 5.x 加入了一个参数,用于指定是否去掉模板文本中行为和指令之间的空格。这个是jsp编译器的问题还是只能由编译器自身来解决比较彻底。

???? 需要Tomcat 5.x版本,即JSP2.0和Servlet2.4的规范,在web.xml配置中加入如下粗体字部分配置项即可。

???? <servlet>
???????? <servlet-name>jsp</servlet-name>
???????? <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
????????<init-param>
???????????? <param-name>trimSpaces</param-name>
???????????? <param-value>true</param-value>
???????? </init-param>

???????? <load-on-startup>3</load-on-startup>
???? </servlet>

?

?

转自:http://blog.csdn.net/chenweitang123/archive/2010/06/15/5672178.aspx