springboot 整合 Froala Editor 3

springboot项目中使用 Froala Editor 3,参考官网文档:https://www.froala.com/wysiwyg-editor/docs/overview

下载文件后,引入css和js

<link href="node_modules/froala-editor/css/froala_editor.pkgd.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="node_modules/froala-editor/js/froala_editor.pkgd.min.js"></script>

在页面中加入div

<div id="example"></div>

然后在页面总初始化:

<script type="text/javascript">
    var editor = new FroalaEditor('#example',{
        alwaysBlank: true,
        language: 'zh_cn',
        plainPaste: true,
        imageButtons: ["floatImageLeft", "floatImageNone", "floatImageRight", "linkImage", "replaceImage", "removeImage"],
        allowedImageTypes: ["jpeg", "jpg", "png", "gif"],
        imageUploadURL: '../sys/oss/upload',
        imageUploadParams: {id: "edit"},
        imagesLoadURL: '../sys/oss/queryAll'
        });
</script>

这样,页面上就能展示富文本了:

 在提交富文本内容到数据库时,参考文档::https://www.froala.com/wysiwyg-editor/docs/methods#html.get

var editor = new FroalaEditor('.selector', {}, function () {
  // Call the method inside the initialized event.
  editor.html.wrap(false, true, false);//包装表格处理 temp,tables,blockquote
  editor.html.get(true);//获取文本内容
})

然后将文本提交到后台,这时传递给后台的文本中带有被转义的字符,需要做特殊处理:

String content = newContent.replace("& lt;","<").replace("& gt;",">");

然后再做反转义处理,引入

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-text</artifactId>
     <version>1.6</version>
</dependency>
 content = StringEscapeUtils.unescapeHtml4(content);//反转义

这样就能正常保存到数据库了。

原文地址:https://www.cnblogs.com/taiguyiba/p/11016517.html