`
八岭书生
  • 浏览: 103020 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

<c:out>标签中的escapeXml属性

 
阅读更多

最近在做一个在线文本编辑器项目,遇到一个问题:
我从后台得到了各个章节的信息,包括标题和内容,其中内容是以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}" />&nbsp;<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}" />&nbsp;<c:out value="${newsSearch.publishDate}" /></font>
					</span>
					<br />
				</div>
			</c:forEach>

 

分享到:
评论

相关推荐

    JavaWeb开发技术-Core标签库.pptx

    在程序开发中,需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的&lt;c:if&gt;标签,用于完成JSP页面中的条件判断。 语法1:没有标签体的情况 语法2:有标签体的情况,在

    struts_jstl

    out value="${bj}"/&gt;&lt;br&gt;&lt;br&gt; bj(escapeXml=true)=&lt;c:out value="${bj}" escapeXml="true"/&gt;&lt;br&gt;&lt;br&gt; bj(escapeXml=false)=&lt;c:out value="${bj}" escapeXml="false"/&gt;&lt;br&gt;&lt;br&gt; &lt;p&gt;&lt;br&gt; &lt;li&gt;条件控制标签c:if&lt;/li&gt;&lt;br...

    el函数,el,el表达式,el函数,fn

    12.fn:contains 判定字符串是否包含另外一个字符串 &lt;c:if test="${fn:contains(name, searchString)}"&gt; 13.fn:containsIgnoreCase 判定字符串是否包含另外一个字符串(大小写无关) &lt;c:if test="${fn:...

    jello-optimizer-jsp-xss:防御 jello 中的 XSS 攻击

    另外,对于&lt;c&gt;标签强制加入属性escapeXml="true" 使用 安装 npm install -g jello-optimizer-jsp-xss 启用插件 fis.config.set('modules.optimizer.jsp', 'jsp-xss'); 然后使用 release 命令的时候,记得带上 -o ...

    JSTL_fn标签 字符处理标签

    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:...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    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、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    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、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    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、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    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、...

    jquery ajax对特殊字符进行转义防止js注入使用示例

    直接使用&lt;c value=”${r.content}”&gt;这样就行了,会自动进行转义,其中省略了参数escapeXML=”true”,这是默认的.所以说在显示这些用户提交的内容的时候不要用el表达示,因为el不会自动进行转义,用c:out比较好.而如果也...

    javascript中如何处理引号编码#034;

    1、 &lt;c value=’${jxOrgJsonStr}’ escapeXml=”false”/&gt; 2、或者使用innerText 直接接受${jxOrgJsonStr}的值,就不会被转义了。 有次一哥们在做fckeditor数据展示的时候,出现了html/css全部被展示了,看了下代码...

Global site tag (gtag.js) - Google Analytics