婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP輸出HTML時產生的大量空格和換行的去除方法

JSP輸出HTML時產生的大量空格和換行的去除方法

熱門標簽:福建電銷貓機器人收費 地圖標注專業和非專業 汝南縣地圖標注app 甘肅銷售電銷機器人公司 四川正規外呼系統軟件 湖北地圖標注公司 外呼直播語音系統 山東ai外呼電銷機器人好用嗎 智能電話機器人銷售話術
這個問題當年也困擾了我比較長的時間.因為在jsp內使用的EL標簽和其他標簽時,會產生大量的空格和換行符.例如:
復制代碼 代碼如下:

------- start ----------
c:choose>
c:when test="${fn:length(mainPageList)>1}">
Something
/c:when>
c:otherwise>
Others
/c:otherwise>
/c:choose>
------- end -----------

這段代碼在Tomcat上輸出如下,多了幾行換行。
復制代碼 代碼如下:

------- start ----------
Something
------- end -----------

當然,一般不去特別留意是不會發現有什么問題的,畢竟輸出再多的空格和換行符,對于瀏覽器生成的最終效果是一樣的。也就是大部分開發人員忽略這個問題的原因;但實際上這些空格和換行會占用了不少空間,我的經驗是30%左右是空格/換行。也有人說,當web服務器以zip的方式來輸出html時,空格引起的帶寬問題就可以解決了;是的,當使用zip來輸出html時,空格/換行的空間會被節省回來,但這個增加zip的工作量,而且最大的問題是,瀏覽器生成頁面時,還是會還原所有的空格的換行符。對于前端開發人員來說這是個噩耗,面對大量的空格和冗長的html源碼,想要找到對應出問題的樣式所在的位置可不是容易的事情。
下面說一下解決方案,以Tomcat為例:
方案一,利用web服務器的trimSpaces功能。
Tomcat5 以上版本都可以使用,這是最簡單的方法。
復制代碼 代碼如下:

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>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>3/load-on-startup>
/servlet>

這個方案有個缺點,它會去掉所有jsp EL標簽之間的空格的換行符,在部分情況下也來帶來不便。
如:Your name is ${firstName} ${lastName}. ==輸出為==> Your name is firstNamelastName.
兩個${}變量之間的空格也會消失。要解決這個問題是相當麻煩,要引入一個只有一個空格的變量。
c:set var="one_space"> /c:set>
Your name is ${firstName}${one_space}${lastName}.
這樣就正常了,麻煩。雖然可以在一些全局變量的地方來增加一個one_space的變量,但代碼看上去還是不爽。
方案二,我比較喜歡。
這個方案只有在支持jsp 2.1的web服務器上才可以使用,如Tomcat6。
Jsp2.1多了一個很有用的命令;
%@ page trimDirectiveWhitespaces="true" %>
這個命令可以使jsp輸出的html時去除多余的空行(jsp上使用EL和tag會產生大量的空格和空行),沒有使用trimSpaces的問題,現在jsp輸出html也可以很好地排版,看上去也專業;以前我一直都羨慕velocity的模板,輸出html十分干凈好看,現在jsp也可以了。
另外提一下,Tomcat6有一些兼容性問題,例如不能使用#{}這種代碼在jsp中,因為會被當成JSF腳本執行。
雖然這是一個很小的問題,但我們還是要注意細節。
您可能感興趣的文章:
  • javascript實現去除HTML標簽的方法
  • php正則去除網頁中所有的html,js,css,注釋的實現方法
  • js函數獲取html中className所在的內容并去除標簽
  • asp中去除html中style,javascript,css代碼
  • php中去除所有js,html,css代碼
  • js中去除字符串中所有的html標簽代碼實例

標簽:肇慶 南充 吳忠 梅州 黔東 昌都 白銀 臨沂

巨人網絡通訊聲明:本文標題《JSP輸出HTML時產生的大量空格和換行的去除方法》,本文關鍵詞  JSP,輸出,HTML,時產,生的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP輸出HTML時產生的大量空格和換行的去除方法》相關的同類信息!
  • 本頁收集關于JSP輸出HTML時產生的大量空格和換行的去除方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 三门峡市| 敦煌市| 开鲁县| 平山县| 正阳县| 咸阳市| 阳山县| 沾益县| 东台市| 蓝山县| 独山县| 万宁市| 泰州市| 修水县| 高陵县| 勐海县| 安康市| 闵行区| 德保县| 新平| 萍乡市| 平陆县| 耒阳市| 洪雅县| 大姚县| 富宁县| 宁强县| 砀山县| 五原县| 海林市| 海宁市| 敖汉旗| 泰宁县| 神池县| 伊春市| 黄浦区| 卓资县| 永丰县| 湖州市| 湾仔区| 新巴尔虎左旗|