好久沒有寫jsp頁面了,也沒太大注意,今天幫助人家處理一個傳回值的問題的時候,發現jsp的<%%>會産生一個回車換行,導緻如圖所示的效果。
<a target="_blank" href="http://blog.51cto.com/attachment/201308/110125519.jpg"></a>
我使用的一種方法是把<%%>指令都移到一行去,這樣就不會出現換行的情況了。
這個方式的一個前提是隻是用來傳回值的情況的處理,比如ajax請求等,缺點就是代碼的可讀性差。
建議最好使用servlet就不會出現這種情況。
以下是網絡上别人的處理方式:
1. 支援JSP 2.1+ ,在每個要去空行的頁面裡包含下面代碼:
<%@ page trimDirectiveWhitespaces="true" %>
2. 支援servlet 2.5+, 即 web.xml的 XSD版本為2.5,在web.xml中加入如下代碼
<jsp-config>

<jsp-property-group>

<url-pattern>*.jsp</url-pattern>

<trim-directive-whitespaces>true</trim-directive-whitespaces>

</jsp-property-group>
</jsp-config>
3. Tomcat 5.5.x+,在Tomcat安裝目錄/conf/web.xml中找到名叫"jsp"的servlet,添加下面一段代碼:
<init-param>

<param-name>trimSpaces</param-name>

<param-value>true</param-value>
</init-param>
其中1,2中方法需要Tomcat6++版本
本文轉自xuzw13 51CTO部落格,原文連結:http://blog.51cto.com/xuzhiwei/1262766,如需轉載請自行聯系原作者