HTML标记无法在浏览器上显示为文本

HTML标记无法在浏览器上显示为文本,html,jsp,tags,Html,Jsp,Tags,我使用html标记将文本存储在数据库中。当显示它们时,标记不起作用,它们显示为文本 DB数据: <p>send the document to:</p><p> bay area, </p><p> tampa</p> 将文档发送到:湾区,坦帕 当我在jsp上显示此内容时,它与p标记一样显示 期望值: <p>send the document to:</p><p> bay area, <

我使用
html标记将文本存储在数据库中
。当显示它们时,标记不起作用,它们显示为文本

DB数据:

<p>send the document to:</p><p> bay area, </p><p> tampa</p>
将文档发送到:

湾区,

坦帕

当我在
jsp
上显示此内容时,它与
p标记一样显示

期望值:

<p>send the document to:</p><p> bay area, </p><p> tampa</p>
将文档发送到:
湾区,
坦帕

实际值:

<p>send the document to:</p><p> bay area, </p><p> tampa</p>
将文档发送到:

湾区,

坦帕


可以使用JSTL不转义HTML字符串。例如:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<c:out value="${yourHTMLString}" escapeXml="false"/>


但是要小心XSS攻击。

向我们展示呈现html的相关代码。您能展示如何将值存储在数据库表中吗?我正在存储文本“将文档发送到数据库中的:

湾区,

坦帕

”。我正在使用普通html标记显示text@user2644654:显示代码。守则很重要。HTML标记不会从Java对象生成文本。这就是我们感兴趣的部分。更简单的是:去掉c:out,只需使用${yourHTMLString}:c:out所做的唯一事情就是转义HTML。如果你不想逃跑,就不要用c:out。