使用Webview显示html文本遇到的字符实体问题

Html字符实体

在Html中的<>是不作为我们平常的大于,小于号而是已经固定为html的标签,所以这些符号是不显示在我们最终看到的网页中的,如果希望显示在网页中就要用到html字符实体(转义字符)
常用的如下:
这里写图片描述

Html字符实体与Webview

在开发的过程中遇到一个奇怪的问题,一开始与后天交互使用的是Webservice,获取到的html文本内容是正常的带标签的html文本,而改成Retrofit访问后台获取的html文本内容显示的是转义的html文本

<p>123<p>//这是使用Webservice获取的html文本内容
&lt;p&gt;123&lt;p&gt;//这是使用Retrofit获取的html文本内容
webview.loaddatewithBaseurl(html)

所以用webview显示html文本内容之后,第一种是可以解析标签正常显示,第二种是带标签显示的。
所以可以看出后台返回的是经过转义的html文本,所以android前端就要还原

html转义用java还原方法

1.Spring的HtmlUtils类进行还原
org.springframework.web.util.HtmlUtils.htmlUnescape(str);

相对于的转义也介绍一下(前端一般用不到)

org.springframework.web.util.HtmlUtils.htmlEscape(str);
2.apache.common报下的还原方法
compile 'org.apache.commons:commons-lang3:3.6'
org.apache.commons.lang.StringEscapeUtils.unescapeHtml(str);

转义

(org.apache.commons.lang.StringEscapeUtils.escapeHtml(str);

进行还原之后webview就可以正常显示html文本啦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值