日期:2014-05-16  浏览次数:20393 次

JSP JSTL EL 删除空行 <%@ page trimDirectiveWhitespaces="true" %>

<%@ page trimDirectiveWhitespaces="true" %>


这个命令可以使jsp输出的html时去除多余的空行(jsp上使用EL和tag会产生大量的空格和空行)。

?

但是这个命令是从JSP2.1规范以后才得到支持。

所以在tomcat 6.0之前的版本上如果使用这个命令就会抛出异常:

Page directive has invalid attribute: trimDirectiveWhitespaces

?

解决方法是:

1.升级tomcat至6.0以上版本

2.Tomcat 5.5.x+,不要使用trimDirectiveWhitespaces,改用这种方法:

在Tomcat安装目录/conf/web.xml中找到名叫"jsp"的servlet,添加下面一段代码:

?

???????<param-name>trimSpaces</param-name>
</init-param>
?
?
查看JSP版本可以使用下面的命令:
JSP version: <%= JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %>
?
?

在web.xml中加上这个配置,看看效果如何

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>

?
?
更多信息可以参考:
http://blog.csdn.net/xuhaiyang/archive/2008/05/23/2472591.aspx