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);





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值