gpt4 book ai didi

jsp - 在JSP文档(JSPX)中返回格式化的XML输出的简单方法

转载 作者:行者123 更新时间:2023-12-04 04:39:50 26 4
gpt4 key购买 nike

15年前,当我尝试切换到基于XML的JSP时,这是一个问题,看起来仍然是一个问题。

使用Tomcat 9,如果我有一个简单的JSP页面,则可以很好地格式化输出。

<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8"/>
<title>Example</title>
</head>
<body>
<p>Example</p>
</body>
</html>

输出看起来与源几乎相同。但是,如果我使用JSP文档(JSPX):
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.3">
<jsp:directive.page contentType="text/html; charset=UTF-8" />
<jsp:text>&lt;!DOCTYPE html&gt;</jsp:text>
<html lang="en-US">
<head>
<meta charset="UTF-8"/>
<title>Example</title>
</head>
<body>
<p>Example</p>
</body>
</html>
</jsp:root>

然后输出就变成了一条长行:
<!DOCTYPE html><html lang="en-US"><head><meta charset="UTF-8"/><title>Example</title></head><body><p>Example</p></body></html>

是的,我了解其背后的原因:解析为XML文档模型,处理树,重新序列化等。但实际上,这很丑陋,我不喜欢它,可能没人喜欢它。在输出中获得合理的换行和缩进的最简单,最实用的方法是什么?

无关紧要的事实是浏览器不在乎。作为开发人员,我们必须与之合作。这很丑陋,并且很碍手碍脚。 (是的,我知道可能没有人使用JSPX甚至JSP,但是我还是想问一下。)

最佳答案

Strip whitespace from jsp output复制
有一个trimWhiteSpaces功能可能是您的问题:

在您的JSP中可能有:

<%@ page trimDirectiveWhitespaces="true" %>

您应该将其设置为false,并在jsp-config部分中将web.xml设置为:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>false</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>

您可以看一下 here以获得可以在Tomcat 9服务器中调整的更多配置。

关于jsp - 在JSP文档(JSPX)中返回格式化的XML输出的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com