最近在做一个在线文本编辑器项目,遇到一个问题:
我从后台得到了各个章节的信息,包括标题和内容,其中内容是以HTML格式的形式存储的.这些章节信息是以一个List返回的.在页面中的显示代码如下:
<c:forEach items="${pageControl.data}" var="newsSearch">
<div style="margin-top: 20px;">
<span>
<a href="newsShow.do?detail=1&id=<c:out value="${newsSearch.id}" />" ><c:out value="${newsSearch.title}" escapeXml="false" /></a><br />
<c:out value="${newsSearch.content}" /><br/>
<font color="green">http://127.0.0.1:8080/LuceneSys/newsShow.do?detail=1&id=<c:out value="${newsSearch.id}" /> <c:out value="${newsSearch.publishDate}" /></font>
</span>
<br />
</div>
</c:forEach>
这段代码是将List中的章节信息拼接成一篇文章.但是问题出来了,由于content中的内容是以HTML形式存储的,所以在页面显示的时候,会将一些HTML标签原封不动的显示出来.查看页面的源代码,发现这些标签已经被解析成了转义符.
为了解决这个问题,在<c:out>标签中有一个escapeXml属性,其默认值为true,即默认是要将HTML标签转化为转义字符,所以在页面中就显示出了HTML标签.
所以,很显然,只要将这个属性值改为flase就可以了.代码如下:
<c:forEach items="${pageControl.data}" var="newsSearch">
<div style="margin-top: 20px;">
<span>
<a href="newsShow.do?detail=1&id=<c:out value="${newsSearch.id}" />" ><c:out value="${newsSearch.title}" escapeXml="false" /></a><br />
<c:out escapeXml="false" value="${newsSearch.content}" /><br/>
<font color="green">http://127.0.0.1:8080/LuceneSys/newsShow.do?detail=1&id=<c:out value="${newsSearch.id}" /> <c:out value="${newsSearch.publishDate}" /></font>
</span>
<br />
</div>
</c:forEach>
分享到:
相关推荐
在程序开发中,需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<c:if>标签,用于完成JSP页面中的条件判断。 语法1:没有标签体的情况 语法2:有标签体的情况,在
out value="${bj}"/><br><br> bj(escapeXml=true)=<c:out value="${bj}" escapeXml="true"/><br><br> bj(escapeXml=false)=<c:out value="${bj}" escapeXml="false"/><br><br> <p><br> <li>条件控制标签c:if</li><br...
12.fn:contains 判定字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}"> 13.fn:containsIgnoreCase 判定字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:...
另外,对于<c>标签强制加入属性escapeXml="true" 使用 安装 npm install -g jello-optimizer-jsp-xss 启用插件 fis.config.set('modules.optimizer.jsp', 'jsp-xss'); 然后使用 release 命令的时候,记得带上 -o ...
fn:length、fn:contains 、 fn:containsIgnoreCase 、 fn:endsWith 、 fn:escapeXml 、 fn:indexOf 、 fn:join 、 fn:replace 、 fn:split 、 fn:startsWith 、 fn:substring 、 fn:substringAfter 、 fn:...
2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...
2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...
2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...
2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、...
直接使用<c value=”${r.content}”>这样就行了,会自动进行转义,其中省略了参数escapeXML=”true”,这是默认的.所以说在显示这些用户提交的内容的时候不要用el表达示,因为el不会自动进行转义,用c:out比较好.而如果也...
1、 <c value=’${jxOrgJsonStr}’ escapeXml=”false”/> 2、或者使用innerText 直接接受${jxOrgJsonStr}的值,就不会被转义了。 有次一哥们在做fckeditor数据展示的时候,出现了html/css全部被展示了,看了下代码...