This was a problem when I tried to switch to XML-based JSP over 15 years ago, and it looks like it's still a problem.
Using Tomcat 9, if I have a simple JSP page, the output is nicely formatted.
ExampleExample
The output looks pretty much the same as the source. But if I use a JSP document (JSPX):
<!DOCTYPE html>
ExampleExample
Then the output just becomes one long line:
ExampleExample
Yes, I understand the reasons behind this: parsing to the XML document model, manipulating the tree, reserializing, etc. But as a practical matter: it's ugly, I don't like it, and probably nobody likes it. What's the easiest, most practical way to get some reasonable line breaks and indention in the output?
The fact that the browser doesn't care is beside the point. As developers we have to work with this. This is ugly and gets in the way. (Yes, I know probably nobody uses JSPX or even JSP, but I thought I'd ask anyway.)
解决方案
Copied from Strip whitespace from jsp output
There is a trimWhiteSpaces functionality that may be your problem:
In your JSP there could be:
which you should set to false and in the jsp-config section your web.xml:
*.jsp
false
You can take a look here for further configurations you can tune in you Tomcat 9 server.