我可以在Spring Framework webapp响应数据中删除不必要的换行符/空格吗?

时间:2012-03-06 23:53:55

标签: java html jsp spring-mvc

在我的服务器给客户端的响应中,我注意到了很多空白和换行符。响应主体似乎正在为解析的JSP的每一行发送换行符。我只是好奇,如果这是一个问题,有人已经写了一个bean吗?这是我甚至需要担心的事情吗?

示例JSP:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@page import="java.util.Date"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.util.Properties"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.io.IOException"%>
<head>
  <title>My Page!</title>
  <% String message = "Hello World!"; %>
</head>
<body>
  <div><%=message%></div>
</body>
</html>

示例HTML响应:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


<!-- THESE ARE BLANK NEWLINES ... -->



<head>
  <title>My Page!</title>

</head>
<body>
  <div>Hello World!</div>
</body>
</html>

3 个答案:

答案 0 :(得分:6)

是的,你可以这样做。尝试:

<%@ page trimDirectiveWhitespaces="true" %>

此处提供了更多详细信息:Strip whitespace from jsp output

答案 1 :(得分:1)

@aroth必须得到最正确的回答。但它也有后果,主要是次要的。

替代方案是标签之间没有行结尾。 e.g:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@page import="java.util.Date"%><%@page 
import="java.util.GregorianCalendar"%><%@page 
import="java.util.Properties"%><%@page 
import="java.util.Map"%><%@page 
import="java.util.HashMap"%><%@page 
import="java.io.IOException"%><head>
  <title>My Page!</title>
  <% String message = "Hello World!"; %>
</head>
<body>
  <div><%=message%></div>
</body>
</html>

顺便说一下,你可以在jsp标签中输入几个:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@page import="java.util.Date,java.util.GregorianCalendar,java.util.Properties,java.util.Map,java.util.HashMap,java.io.IOException"%><head>
  <title>My Page!</title>
  <% String message = "Hello World!"; %>
</head>
<body>
  <div><%=message%></div>
</body>
</html>

答案 2 :(得分:0)

您可以通过调用在代码中执行此操作 HttpServletResponse上的重置方法