为什么我必须在这种情况下抑制 XML excaping

Why do I have to suppress XML excaping in this scenario

我正在使用将标记添加到文本文档的 servlet。 例如,它可能会产生以下句子

根据<span class="legalTerm">the plaintiff</span>,合同从未签署

在我的 jsp 中,我有以下 css、html 和 jstl:

<style>
.legalTerm {
    background: lightgrey;
    color: blue;
    font-size: 16px;
    font-weight: bold;
    text-align:center;
}
</style>
</head>

<body>
    <c:out value="${document}"></c:out>
</body>
</html>

当我 运行 应用程序时,浏览器中显示的文档如下所示:

according to <span class="legalTerm">the plaintiff</span> the contract was never signed

当我查看页面源代码时,我看到:

according to &lt;span class=&#034;legalTerm&#034;&gt;the plaintiff&lt;/span&gt; the contract was never signed

我能够通过抑制 XML 转义来获得正确的行为

<c:out value="${document}"  escapeXml="false"></c:out>

我的问题是:应该这样做吗?
或者我是否遗漏了一些可以消除抑制 XML 转义的需要的东西?

是的,这是正确的行为,也是存在 escapeXML 的原因 -- 允许您防止引擎转义。 escapeXML 的默认值为 "true",因为典型的用例需要对其进行转义。