我正在开发一个Spring-MVC应用程序,在该应用程序中,我将一些文本保存在数据库中,然后显示它。但是,例如,如果我在文本字段中添加类似<hello123>
的内容,则它在数据库中保存的内容相同,但在显示时它变为<hello123></hello123>
。我该怎么做才能避免JSP显示那些结束标记。我发布了如何显示代码。非常感谢。
JSP代码:
<div class="inner-div">
<span class="notice-text">${notices.mnotetext}</span>
<span style="display:none"class="ellipsis"><span class="dots"> ...
</span><span class="more">mehr</span></span>
</div>
我正在显示mnotetext并且它搞砸了,我该怎么办?你能帮忙的话,我会很高兴。非常感谢。
编辑按照Thomas的描述进行更改。
<div class="inner-div">
<span class="notice-text"><hello></span> <span style="display:none"class="ellipsis"><span class="dots"> ... /span><span class="more">mehr</span></span>
</div>
答案 0 :(得分:1)
您正在输出中发送未经编辑的HTML。尝试转义如下所示的值。这也将阻止XSS攻击。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<div class="inner-div">
<span class="notice-text"> <c:out value="${notices.mnotetext}"/> </span>
<span style="display:none"class="ellipsis"><span class="dots"> ...
</span><span class="more">mehr</span></span>
</div>
这是js小提琴只是在html输出中单独显示标签。 https://jsfiddle.net/4hg547s4/