去掉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:
像这样的空行是你导入一个<%@ %>就会增加一个,好吧,让你看到我引入多少个标签库了-_-#
理论上来说搜索引擎应该不会那么嫌弃这个样子吧,再说从页面的展示也没有什么差异,无非查看源码的时候有些不爽,尤其对于强迫症的Coder来说就有点坐立不安了,正好这段事件折腾Freemaker,不用引入什么标签,页面没有那么多空行,多少有些爽,但是freemarker相比jsp原生来说,总觉得不那么爽快(这里不比较了,大家可以自己研究)。
我觉的JSP如果就这样的话,那强迫症都不要活了 ……
还好福音来了:) 哈哈哈,来点赞!
抽空研究了一下,其实很简单,解决起来也分不通级别,这里提供三种方法吧,聪明的coder很快就知道选哪种鸟 o(∩_∩)o
1、页面级别
在每个你需要处理的jsp页面同样引用
<%@ page trimDirectiveWhitespaces="true" %>
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>
3、容器级别
找到你tomcat 目录下 \conf\web.xml文件,在jsp servlet增加参数
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
然后重启你的容器在看看效果吧,
这下爽了吧,强迫症的福音啊,哈哈哈,如果你要说你的修改了没有变化,让我先凸^-^凸你一下,你有没有清理work 下面的缓存呢~