好久没有写jsp页面了,也没太大注意,今天帮助人家处理一个返回值的问题的时候,发现jsp的<%%>会产生一个回车换行,导致如图所示的效果。
我使用的一种方法是把<%%>指令都移到一行去,这样就不会出现换行的情况了。
这个方式的一个前提是只是用来返回值的情况的处理,比如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,如需转载请自行联系原作者