下载
-
点击 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框架的处理语句这里就不赘述了)
来看看结果
点击之后的数据库中