使用wangEditor作为博客文本编辑器

下载

  • 点击 https://github.com/wangfupeng1988/wangEditor/releases下载最新版。进入release文件夹下找到wangEditor.js或者wangEditor.min.js即可

  • 使用CDN://unpkg.com/wangeditor/release/wangEditor.min.js

  • 使用bower下载:bower install wangEditor (前提保证电脑已安装了bower)

    PS:支持npm安装,请参见后面的章节

导入

在这里插入图片描述

  • 找到下载的压缩包中的release文件夹,然后将wangEditor.js放入你的项目目录
    -在这里插入图片描述

代码

  • 先简单的将编辑器放入jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>title</title>
</head>
<body>
<center>

    <div style="padding: 5px 0; color: #ccc; width: 65%">
        <p>请输入标题</p>
    </div>
    <div id="editor" style="width: 65%">
        <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>
    </div>
</center>

<!-- 注意, 只需要引用 JS,无需引用任何 CSS !!!-->
<script type="text/javascript" src="http://localhost:8080/Study_SSM08_war_exploded/editor/wangEditor.js"></script>
<script type="text/javascript">
    var E = window.wangEditor
    var editor = new E('#editor')
    // 或者 var editor = new E( document.getElementById('editor') )
    editor.create()
</script>
</body>
</html>

在这里插入图片描述

  • 在加上按钮尝试获取里面的数据
<center>

    <div style="padding: 5px 0; color: #ccc; width: 65%">
        <p>请输入标题</p>
    </div>
    <div id="editor" style="width: 55%;">
        <p>欢迎使用 <b>Geek</b> 富文本编辑器</p>
    </div>
    <button id="btn1">获取html</button>
    <button id="btn2">获取text</button>
</center>

<!-- 注意, 只需要引用 JS,无需引用任何 CSS !!!-->
<script type="text/javascript" src="http://localhost:8080/Study_SSM08_war_exploded/editor/wangEditor.js"></script>
<script type="text/javascript">
    var E = window.wangEditor
    var editor = new E('#editor')
    // 或者 var editor = new E( document.getElementById('editor') )
    editor.create()

    document.getElementById('btn1').addEventListener('click', function () {
        // 读取 html
        alert(editor.txt.html())
    }, false)

    document.getElementById('btn2').addEventListener('click', function () {
        // 读取 text
        alert(editor.txt.text())
    }, false)
</script>

在这里插入图片描述

  • 然后我们加入ajax来进行HTTP请求
    (这里一定要记得加入Jquey依赖,以及将js包放入工程当中)
<body>
<center>

    <div style="padding: 5px 0; color: #ccc; width: 65%">
        <p>请输入标题</p>
    </div>
    <div id="editor" style="width: 55%;">
        <p>欢迎使用 <b>Geek</b> 富文本编辑器</p>
    </div>
    <button id="btn1">获取html</button>
    <button id="btn2">获取text</button>
</center>

<!-- 注意, 只需要引用 JS,无需引用任何 CSS !!!-->
<script type="text/javascript" src="http://localhost:8080/Study_SSM08_war_exploded/editor/wangEditor.js" charset="UTF-8"></script>
<script src="http://localhost:8080/Study_SSM08_war_exploded/js/jquery.min.js"></script>
<script type="text/javascript">
    var E = window.wangEditor;
    var editor = new E('#editor');
    // 或者 var editor = new E( document.getElementById('editor') )
    // 自定义菜单配置
    editor.customConfig.menus = [
        'head',  // 标题
        'bold',  // 粗体
        'fontSize',  // 字号
        'fontName',  // 字体
        'italic',  // 斜体
        'underline',  // 下划线
        'foreColor',  // 文字颜色
        'link',  // 插入链接
        'list',  // 列表
        'quote',  // 引用
        'image',  // 插入图片
        'video',  // 插入视频
        'code',  // 插入代码
        'undo',  // 撤销
        'redo'  // 重复
    ];
    editor.customConfig.uploadImgShowBase64 = true;
    editor.customConfig.uploadImgMaxSize = 3*1024*1024;
    editor.customConfig.uploadImgMaxLength = 3;
    editor.customConfig.uploadImgTimeout = 3000;
    editor.customConfig.uploadFileName = 'editor_content';
    editor.create();

    document.getElementById('btn1').addEventListener('click', function () {
        // 读取 html
        var content = editor.txt.html();
        $.ajax({
            url:'http://localhost:8080/Study_SSM08_war_exploded/addcontent?content='+content,
            type:'post',
            dataType:'json',
            contentType:'application/json',
            success:function (data) {
                alert("成功====="+data.result);
                window.location.href='index.jsp'
            },
            error:function (msg) {
                alert("连接异常"+msg);
            }
        });
    }, false);

    document.getElementById('btn2').addEventListener('click', function () {
        // 读取 text
        alert(editor.txt.text());
        $.ajax({
            url:'/addcontent?content='+content,
            type:'post',
            dataType:'json',
            success:function (data) {
                console.log("成功====");
                alert("成功=====")
                window.location.href=data;
            },
            error:function () {
                alert("连接异常");
            }
        });
    }, false);
</script>
</body>

请求响应

@Controller
public class EditorController {

    @RequestMapping("/addcontent")
    @ResponseBody
    public Map<String, Object> addcontent(@RequestParam("content") String content){
        System.out.println(content);
        Map<String, Object> map = new HashMap<String, Object>();
        try {
        } catch (Exception e) {
            map.put("result", "false");
            e.printStackTrace();
        }
        map.put("result", "true");
        return map;
    }

}

再来看看效果
在这里插入图片描述

在这里插入图片描述
可以看到已经将HTML格式的语句得到,我们只要将其进行处理即可。

  • 继续细化,尝试将简单的文本存入数据库中

在btn1中的点击事件进行一个ajax请求

document.getElementById('btn1').addEventListener('click', function () {
        // 读取 html
        var content = editor.txt.html();
        var userid = document.getElementById('userid').value;
        var headname = document.getElementById('head').value;
        $.ajax({
            url:'http://localhost:8080/Study_SSM08_war_exploded/addcontent?content='+content+'&headname='+headname+'&userid='+userid,
            type:'post',
            dataType:'json',
            contentType:'application/json',
            success:function (data) {

                window.location.href='index.jsp'
            },
            error:function (msg) {
                alert("连接异常"+msg);
            }
        });
    }, false);

(SSM框架的处理语句这里就不赘述了)

来看看结果
在这里插入图片描述
点击之后的数据库中
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值