JSP生成的html里面会留下许多空白行(以及space, tab, etc.),那是动态语句留下的痕迹。当初留下这些空白行自然有他的理由 - 方便调试,这样行号才能对的上。但是对于处于production环境中的页面,这么多空白行有时候会是个灾难,常见原因有二: a. 大大增加了页面体积; b. 不利于SEO.
tomcat 5.x以后,在conf/web.xml中加入了一个参数来解决这个问题(我用的是Tomcat 6.0.10),那就是
- <init-param>
- <param-name>trimSpaces</param-name>
- <param-value>true</param-value>
- </init-param>
- <servlet>
- <servlet-name>jsp</servlet-name>
- <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
- <init-param>
- <param-name>fork</param-name>
- <param-value>false</param-value>
- </init-param>
- <init-param>
- <param-name>xpoweredBy</param-name>
- <param-value>false</param-value>
- </init-param>
- <init-param>
- <param-name>trimSpaces</param-name>
- <param-value>true</param-value>
- </init-param>
- <load-on-startup>3</load-on-startup>
- </servlet>
在web.xml里面给jsp servlet添加这个参数就OK。
我试了几次好象不行,还需要在页面上加一段代码:out.clear();
比如:
- <%@ page language="java" pageEncoding="GB18030"%>
- <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
- <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
- <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
- <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
- <%
- String filepath = "adminSet.do";//页面路径
- request.setAttribute("filepath", filepath);
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- //String path = request.getRequestURI();
- //String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- out.clear();
- %>
转载于:https://blog.51cto.com/huqianhao/953235