为什么我必须在此方案中禁止XML转义

时间:2015-03-17 21:18:49

标签: html css jstl

我正在使用一个将标记添加到文本文档的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转义的需求的东西?

1 个答案:

答案 0 :(得分:1)

是的,这是正确的行为以及为什么存在escapeXML - 允许您阻止引擎转义。 escapeXML的默认值为“true”,因为典型的用例需要对其进行转义。