JSP 将 <> 解释为 html 标签并添加结束标签
JSP interpreting <> as html tags and adding end tag
我正在开发 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>
您正在输出中发送未转义的 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 fiddle 仅在 html 输出中单独显示标签。 https://jsfiddle.net/4hg547s4/
我正在开发 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>
您正在输出中发送未转义的 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 fiddle 仅在 html 输出中单独显示标签。 https://jsfiddle.net/4hg547s4/