這個方案有個缺點,它會去掉所有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腳本執行。 雖然這是一個很小的問題,但我們還是要注意細節。