`

怎样去除jsp页面留下的空白,jsp

 
阅读更多

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。

 我试了几次好象不行,还需要在页面上加两段代码:<%@ page trimDirectiveWhitespaces="true" %>和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"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%
String filepath = "adminSet.do";//页面路径
request.setAttribute("filepath", filepath);
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
       + request.getServerName() + ":" + request.getServerPort()
       + path + "/";

out.clear();
%>

 

 

去除JSP留下的空白行

JSP生成的html里面会留下许多空白行(以及space, tab, etc.),那是动态语句留下的痕迹。当初留下这些空白行自然有他的理由 - 方便调试,这样行号才能对的上。但是对于处于production环境中的页面,这么多空白行有时候会是个灾难,常见原因有二: a. 大大增加了页面体积; b. 不利于SEO.

众所周知,tomcat 5.x以后新加入了一个参数来解决这个问题,那就是
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>

  在web.xml里面给jsp servlet添加这个参数就OK。

但是这样做有一个问题: 本来有用的space也会被trim掉。比如
<c:out value="${name}"/> <c:out value="${birth}"/>
 之间的空格,在这个开关打开以后就没了,于是乎网页就显示成Jan2007-1-1,而不是Jan 2007-1-1,这样可不好。

更好的方案是,利用Ant的replaceregexp task,把你不想要的东西替换掉,包括空行和空白。以下ant代码是我在工程中用到的,供参考:
<!-- strip blank lines before webpage -->
<replaceregexp match="/r/n" replace=""
    flags="g" byline="false"
    file="${war.dir}/site/common/setvar.jsp" />
        
<replaceregexp match="/r/n" replace=""
    flags="g" byline="false">
    <fileset dir="${war.dir}/site/layouts/" includes="**/*.jsp" />
</replaceregexp>
 由于这个步骤只是在最后把发布的网页修改了,不会影响原文件的可读性。
分享到:
评论

相关推荐

    动态Jsp页面转换成静态Html页面

    动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html...

    jsp页面加载时提示loading

    当你遇到“jsp页面加载时提示loading”的问题时,这通常意味着页面正在加载或有延迟加载的情况发生。这个问题可能由多种因素导致,下面我们将详细探讨这些可能的原因及其解决方案。 1. **页面内容过多**:如果JSP...

    Spring boot +jsp+mysql空白模板 解决刚开始试用springboot +jsp页面跳转404的问题

    在Spring Boot框架中,开发Web应用时经常遇到的一个问题是页面跳转失败,特别是当尝试将JSP页面与Spring Boot结合时,可能会遇到404错误。这个问题通常涉及到多个配置方面,包括视图解析器的设置、静态资源处理、...

    jsp页面人力资源管理系统静态页面

    【标题】"jsp页面人力资源管理系统静态页面"涉及的是基于JavaServer Pages(JSP)技术构建的人力资源管理系统的前端部分。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript等静态内容与Java代码相...

    SSH项目后台JSP页面.zip

    在这个"SSH项目后台JSP页面.zip"压缩包中,主要包含的是项目的Web内容部分,尤其是JSP页面,这是用户与服务器交互的前端界面。 首先,让我们深入了解SSH框架的每个组件: 1. **Struts2**:这是一个MVC(Model-View...

    JSP页面加载时提示"正在加载中"

    任何jsp页面只要使用包含附件中的loading.jsp将自动拥有“页面正在加载的。。”提示信息,在页面加载完后将自动隐藏。 我为什么使用这个组件? 1。交互性。 客户清楚知道,你的页面是在加载,需要等待,而不用...

    提升JSP页面响应速度的七大秘籍绝招

    提升 JSP 页面响应速度的七大秘籍绝招 本文将介绍七大秘籍绝招,以提升 JSP 页面响应速度,提高系统性能。这些秘籍绝招涵盖了 JSP 页面的生命周期、Servlet 的 init() 方法、自动重载功能、HttpSession 的使用、...

    Java Web初级编程:JSP 页面元素.pptx

    * trimDirectiveWhitespaces:用于指定 JSP 页面是否裁剪指令空白符。 案例 以下是一个使用 Page 指令和 Include 指令的案例: ```jsp , java.util.ArrayList" %&gt; List&lt;String&gt; list = new ArrayList(); ...

    JSP页面显示PDF,根据PDF路径在JSP页面显示PDF

    标题“JSP页面显示PDF,根据PDF路径在JSP页面显示PDF”意味着我们要依据PDF文件在服务器上的存储路径来生成预览链接。以下是实现这一功能的一般步骤: 1. **获取PDF路径**:首先,你需要知道PDF文件在服务器上的...

    jsp登录页面设计源代码

    jsp登录页面设计源代码 jsp登录页面设计是指使用jsp语言来设计一个登录页面,实现用户的身份验证。下面是jsp登录页面设计的详细知识点: 1. HTML代码设计: 登录页面的静态设计使用HTML语言,通过设计HTML代码来...

    几种JSP页面传值方式.txt

    ### 几种JSP页面传值方式详解 在Java Web开发中,JSP(Java Server Pages)是一种常用的技术,用于创建动态网页。JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式...

    jsp页面截取字符串

    下面我们将深入探讨如何在 JSP 页面中进行字符串截取,并通过实例演示其用法。 1. **String 类的方法** JSP 页面实质上是 Java 代码的视图部分,因此可以使用 Java 的 String 类提供的方法来截取字符串。以下是...

    简单的JSP页面布局

    "简单的JSP页面布局"是一个关键的话题,因为它涉及到如何有效地组织和展示网页内容,以提供良好的用户体验。 JSP页面布局通常包括头部、主体和底部等部分,每个部分可能包含多个元素,如导航栏、内容区域和页脚。...

    JSP页面增加遮罩

    JSP页面增加遮罩

    JSP 登录跳转页面

    JSP 登录跳转页面 在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP ...

    炫酷的登录jsp页面完整代码

    【标题解析】:“炫酷的登录jsp页面完整代码”指的是一个使用JSP技术构建的具有视觉吸引力的登录界面。这个项目可能包含了一整套的前端和后端代码,旨在为用户提供一个美观且功能完整的登录体验。 【描述详解】:...

    jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理

    当用户请求JSP页面时,服务器会执行相应的Servlet,将结果返回给客户端。 **2. JSP页面构成** JSP页面由以下几个主要部分组成: - **静态内容**:HTML、CSS、JavaScript等,直接显示在浏览器中。 - **脚本元素**:...

    在一个JSP页面里面根据条件动态的加载另一个jsp页面

    在这个场景中,我们讨论的是如何在一个JSP页面上根据特定条件动态地加载另一个JSP页面,这个新加载的页面通常会显示从数据库(例如Oracle)中检索到的数据。这通常涉及到前端技术如jQuery和Ajax,以及服务器端的处理...

    JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面).zip

    JSP页面缓存是提高网站性能和响应速度的有效手段,它通过存储已处理过的JSP页面结果来避免每次请求时都重新执行JSP页面的编译和执行过程。本资源"JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面...

Global site tag (gtag.js) - Google Analytics