textarea标签实现html转义textarea标签显示html代码

textarea标签实现html转义textarea标签显示html代码

一、问题描述
1、 假设有这么一段字符串: “ <script>alert("订单");</script> ”
2、 html编码后: “ &lt;script&gt;alert(&quot;订单&quot;);&lt;/script&gt;<br/>&nbsp; ”
3、 假设需要在富文本中回显编码后的html代码。 (如: ckeditor
4、遇到的问题是:html编码后的代码,无法在富文本中显示(被识别成了<script>脚本),需进行html代码转义才可以。

二、问题解决
1、若使用了 SpringMVC标签, 设置 htmlEscape="true" 即可,实现对html代码进行转义。
如: <form:textarea id="content" htmlEscape="true" path="content" />

2、<textarea> 标签实现转义
原理是: 借助JSTL标签库中的 <c:out>标签实现html转义。步骤如下:
  • 依赖jar: jstl-1.2.jar
  • jsp页面导入标签库:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • <textarea id="TextArea1" name="content" cols="20" rows="2" >
    	    <c:out value="${content }" escapeXml="true"></c:out>
    	</textarea>

3、补充: 在java中可使用 commons-lang3-3.7.jar 来实现对字符串进行html编码和转码。
  • 编码:StringEscapeUtils.escapeHtml4(str);
  • 解码:StringEscapeUtils.unescapeHtml4(str);





textarea标签实现html转义textarea标签显示html代码

一、问题描述
1、 假设有这么一段字符串: “ <script>alert("订单");</script> ”
2、 html编码后: “ &lt;script&gt;alert(&quot;订单&quot;);&lt;/script&gt;<br/>&nbsp; ”
3、 假设需要在富文本中回显编码后的html代码。 (如: ckeditor
4、遇到的问题是:html编码后的代码,无法在富文本中显示(被识别成了<script>脚本),需进行html代码转义才可以。

二、问题解决
1、若使用了 SpringMVC标签, 设置 htmlEscape="true" 即可,实现对html代码进行转义。
如: <form:textarea id="content" htmlEscape="true" path="content" />

2、<textarea> 标签实现转义
原理是: 借助JSTL标签库中的 <c:out>标签实现html转义。步骤如下:
  • 依赖jar: jstl-1.2.jar
  • jsp页面导入标签库:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • <textarea id="TextArea1" name="content" cols="20" rows="2" >
    	    <c:out value="${content }" escapeXml="true"></c:out>
    	</textarea>

3、补充: 在java中可使用 commons-lang3-3.7.jar 来实现对字符串进行html编码和转码。
  • 编码:StringEscapeUtils.escapeHtml4(str);
  • 解码:StringEscapeUtils.unescapeHtml4(str);





猜你喜欢

转载自blog.csdn.net/weixin_40814247/article/details/88991510