在web應用中,如果使用jsp作為view層的顯示模板,都會被空格/空換行問題所困擾.
方案一,利用web伺服器的trimspaces功能。
tomcat5 以上版本都可以使用,這是最簡單的方法
[html]view plain
copy
<
servlet
>
<
servlet-name
>
jspservlet-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
>
trimspaces
param-name
>
<
param-value
>
true
param-value
>
init-param
>
<
init-param
>
<
param-name
>
xpoweredby
param-name
>
<
param-value
>
false
param-value
>
init-param
>
<
load-on-startup
>
3load-on-startup
>
servlet
>
這個方案有個缺點,它會去掉所有jsp el標籤之間的空格的換行符,在部分情況下也來帶來不便。
如:your name is $ $. ==輸出為==> your name is firstnamelastname.
兩個${}變數之間的空格也會消失。
方案二:在支援jsp 2.1的web伺服器上才可以使用,如tomcat6
jsp2.1多了乙個很有用的命令;
<%@ page trimdirectivewhitespaces="true" %>
這 個命令可以使jsp輸出的html時去除多餘的空行(jsp上使用el和tag會產生大量的空格和空行),沒有使用trimspaces的問題,現在jsp輸出html也可以很好地排版,看上去也專業;
另外提一下,tomcat6有一些相容性問題,例如不能使用#{}這種**在jsp中,因為會被當成jsf指令碼執行。
方案三:在web.xml中配置
jsp中會經常使用到使用jsp標籤和jstl的標籤,比如<%@ page ..%>, <%@ taglib ...%>, , 尤其是迴圈標籤,在jsp最終輸出的html中會產生大量的空行,使得效能降低。最方便的解決方法是在web.xml 中新增以下設定。
*.jsp
true
去除JSP生成HTML時的空白行
使用了jsp的開發者都知道,jsp編譯後生成的html中含有大量空白行,這些空白一般情況並不礙事,頂多降低對搜尋引擎的友好度和html的可讀性。但是使用jsp生成xml檔案時,如果 這個問題困擾了我很久,加上我使用了大量的taglib,如jstl標籤。致使我的html頁面一大塊一大塊禿禿的 白荒地 ...
使用axis2時在temp檔案產生大量快取
解決在使用axis2時,每一次請求產生axis2jar臨時檔案,導致占用大量磁碟空間問題。在spring配置檔案中採用構造注入 id axisconfigcontext class org.apache.axis2.context.configurationcontextfactory factor...
產生oracle大量資料的sql語句
建立1100000行測試資料的的測試表 create table testtable12 as select rownum as id,to char sysdate rownum 24 3600,yyyy mm dd hh24 mi ss as inc datetime,trunc dbms ra...