去掉JSP页面中的头部空行解决方案

在J2EE平台下开发JSP相对于freemarker真的功能太强大了,但是jsp tag却需要引入到你的项目中,就像是

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

这些标签,当然还有更多的引用,好像我们看不出来有什么问题,但是从SEO同事反映,网站查看源码空行太多!

eg:

去掉JSP页面中的头部空行解决方案

 

像这样的空行是你导入一个<%@ %>就会增加一个,好吧,让你看到我引入多少个标签库了-_-#

理论上来说搜索引擎应该不会那么嫌弃这个样子吧,再说从页面的展示也没有什么差异,无非查看源码的时候有些不爽,尤其对于强迫症的Coder来说就有点坐立不安了,正好这段事件折腾Freemaker,不用引入什么标签,页面没有那么多空行,多少有些爽,但是freemarker相比jsp原生来说,总觉得不那么爽快(这里不比较了,大家可以自己研究)。

我觉的JSP如果就这样的话,那强迫症都不要活了 ……

还好福音来了:) 哈哈哈,来点赞!

抽空研究了一下,其实很简单,解决起来也分不通级别,这里提供三种方法吧,聪明的coder很快就知道选哪种鸟 o(∩_∩)o

1、页面级别

在每个你需要处理的jsp页面同样引用

<%@ page trimDirectiveWhitespaces="true" %>

去掉JSP页面中的头部空行解决方案

 

2、项目级别

在你的web.xml 下增加配置:

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>

去掉JSP页面中的头部空行解决方案

 

3、容器级别

找到你tomcat 目录下 \conf\web.xml文件,在jsp servlet增加参数

<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>

去掉JSP页面中的头部空行解决方案

 

然后重启你的容器在看看效果吧,

去掉JSP页面中的头部空行解决方案

这下爽了吧,强迫症的福音啊,哈哈哈,如果你要说你的修改了没有变化,让我先凸^-^凸你一下,你有没有清理work 下面的缓存呢~