JSP trimSpaces 指令不起作用!
我正在尝试使用 web.xml 中的trimSpaces 指令来修剪 JSP 空白,但它不起作用。这是我的 web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
id="WebApp_ID"
version="2.4">
<display-name>MyWebApp</display-name>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
</web-app>
我是新手,不知道如何调试问题。我尝试将
我使用 Tomcat 7。也使用 Spring,如您所见。
有什么建议吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
JspServlet
的
需要放入 servletcontainer 本身的web.xml
中,不是你的网络应用程序的。转到 Tomcat 安装文件夹并打开/conf/web.xml
文件。找到JspServlet
的
条目并在其中添加
。如果您想在 web 应用的
web.xml
中进行全局配置,例如因为 servletcontainer 配置不在您的控制范围内,那么您需要设置
的 -whitespaces> 属性。The
<init-param>
for theJspServlet
needs to go in theweb.xml
of the servletcontainer itself, not of your webapp. Go to the Tomcat installation folder and open the/conf/web.xml
file. Locate the<servlet>
entry of theJspServlet
and add the<init-param>
there.If you'd like to configure it globally in the
web.xml
of your webapp, for example because the servletcontainer configuration is outside your control, then you need to set the<trim-directive-whitespaces>
property of the<jsp-config>
instead.我将trimSpaces指令添加到tomcat/conf目录中的web.xml中,发现当我重新启动服务器时它被忽略了。然而,出于好奇,我还添加了一个 scrapdir 指令来覆盖默认工作目录,只是为了看看这个选项是否也被忽略了。当我添加此参数后重新启动 tomcat 时,scratchdir 和 trimSpace 指令都被选取并应用。我真的不明白为什么单独添加trimSpace指令不起作用,但与另一个指令一起添加它会导致它工作?这是一个有点笨拙的解决方案,但至少它有效。我使用的是 tomcat 6.0.33。
I added the trimSpaces directive to the web.xml in my tomcat/conf directory and found that it was ignored when I restarted my server. However, out of curiosity I also added a scratchdir directive to override the default work directory, just to see if this option was also ignored. When I restarted tomcat after adding this param, both the scratchdir and trimSpace directives were picked up and applied. I don't really understand why adding the trimSpace directive on its own takes not effect yet adding it in conjunction with another directive causes it to work? It's a bit of a clunky solution but at least it works. I'm using tomcat 6.0.33.