我在DB上有一个包含HTML文本的字段,我需要将其打印到JSP页面中。如何呈现HTML?使用<c:out value="${text}" />,我可以看到带有超文本标记的文本。换句话说,它是在转义HTML。
发布于 2011-10-09 22:36:31
默认情况下,<c:out>对XML实体<、>、&、"和'进行转义,以防止XSS攻击。
因此,要解决您的问题,请不要使用<c:out> (适用于JSP2.0和更新版本):
${text}或添加escapeXml="false" attribute
<c:out value="${text}" escapeXml="false" />你只需要确保这个超文本标记语言是可信的,否则这将是一个非常容易的XSS attack漏洞。Jsoup在这方面可能会有帮助,另请参阅XSS prevention in JSP/Servlet web application。
https://stackoverflow.com/questions/7704150
复制相似问题