JSP解释<>作为html标签并添加结束标签

时间:2015-03-26 12:51:57

标签: html html5 jsp tags

我正在开发一个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">&lt;hello&gt;</span>  <span style="display:none"class="ellipsis"><span class="dots"> ... /span><span class="more">mehr</span></span>
    </div>

1 个答案:

答案 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/