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

Java 我可以删除Spring Framework webapp响应数据中不必要的换行符/空白吗?,java,html,jsp,spring-mvc,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 imp

在我的服务器给客户端的响应中,我注意到了相当多的空格和换行符。响应主体似乎正在为每一行解析的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>
<!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>

我的页面!
示例HTML响应:

<!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>
<!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>

我的页面!
你好,世界!

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

<%@ page trimDirectiveWhitespaces="true" %>


更多详细信息请参见此处:

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

<%@ page trimDirectiveWhitespaces="true" %>


这里有更多的细节:

@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>

我的页面!

@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>

我的页面!

您可以通过调用
HttpServletResponse上的重置方法可以在代码中通过调用
HttpServletResponse上的重置方法

,但这可能会重置为与http头非常相似的方法,因此请小心使用此方法。但这可能会重置为与http头非常相似的方法,因此请小心使用此方法。