原因分析
summernote编辑器编辑的内容保存数据库时候是带有html标签的,导致直接页面回显会出现HTMl标签
有两钟处理方式,分别是前后端处理
后端处理
通过StringEscapeUtils.unescapeHtml4 双引号转义字符
public String getContent() {
if(StringUtils.isNotEmpty(content)){
return StringEscapeUtils.unescapeHtml4(content);
}
return content;
}
使用过程,如果出现这个类已经过期了,提醒使用新的替代类。通过查阅官方文档可知此工具类是移到了 org.apache.commons.text 这个包里面了,所以Maven换个依赖即可
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
</dependency>
前端处理
通过js将这段字符插入到html中,让html自己解析html标签,先将这些内容放在一个input中,给这个input一个hidden属性,然后通过js吧这段代码插入到textarea中,让html通过浏览器自己解析:
//HTMl代码
<textarea type="text" name="content" id="summernote"></textarea>
<input type="hidden" id="content" value="{$obj.content}">
//JS代码
$(function(){
var innerhtml = $("#content").val();
$("#summernote").val(innerhtml);
});
Copyright © 2021-2022 云邦微享 | 网站备案号:粤ICP备2021113309号
文章评论