Ueditor上手使用教程

来源:互联网 发布:淘宝衣服女装 编辑:程序博客网 时间:2024/05/22 13:18
他的项目的gitHub地址https://github.com/fex-team/ueditor,他提供了各个版本demo;我们选择java的版本。

使用方法:

  1. <!-- 配置文件 -->  <scripttype="text/javascript"src="ueditor/ueditor.config.js"></script>    <!-- 编辑器源码文件 -->  <scripttype="text/javascript"src="ueditor/ueditor.all.js"></script>
    注意改下文件路径
  2. //实例化编辑器    //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例var ue = UE.getEditor('editor');//初始化编辑器 (该处用于设置编辑器回显值)  ue.ready(function () {      ue.setContent(formData.content);   });

  3. <script id="editor" type="text/plain"></script>//这行代码在你需要用到的表单元素写上,ueditor会识别到然后实例化一个编辑器到这里的

    到这一步你基本的配置就完成了



  4. 但是如果ueditor支持图片、文档、音乐等文件上传功能,如果你想要配置上传路径,可以修改 ueditor/jsp/config.json。这个文件对于每一个配置项,都明确的文字说明。附上一段图片上传的配置吧:

    /* 上传图片配置项 */  "imageActionName": "uploadimage", /* 执行上传图片的action名称 */  "imageFieldName": "upfile", /* 提交的图片表单名称 */  "imageMaxSize": 2048000, /* 上传大小限制,单位B */  "imageAllowFiles": [".png", ".jpg",".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */  "imageCompressEnable": true, /* 是否压缩图片,默认是true*/  "imageCompressBorder": 1600, /* 图片压缩最长边限制 */  "imageInsertAlign": "none", /* 插入的图片浮动方式 */  "imageUrlPrefix": "", /* 图片访问路径前缀 */  "imagePathFormat":"_images/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ 

    如果你没有自己的文件管理服务器的话你可以直接修改 imageUrlPrefix 这个属性,也就是域名就可以了,他会创建一个文件夹来保存你上传的文件,你也可以修改他的imagePathFormat 属性来修改他的路径

  5. 你如果觉得界面功能太多想去掉一些的话可以自定义界面的。只要在ueditor/ueditor.config.js的toolbar中删改配置即可,代码如下:他的代码如下:

    //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义  
    toolbars: [[              'fullscreen', 'source', '|', 'undo', 'redo', '|',              'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',              'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',              'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',              'directionalityltr', 'directionalityrtl', 'indent', '|',              'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',              'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',              'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'pagebreak', 'template', 'background', '|',              'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',              'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',              'searchreplace', 'help', 'drafts'          ]]  那些自己觉得不需要的去掉就行了

  6. 如果图片,文件等有自己的文件系统的话,这个时候就需要拦截所有文件上传的请求然后独立处理 代码如下;

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><script type="text/javascript" charset="utf-8" src="${root}/ueditor/ueditor.config.js"></script><script type="text/javascript" charset="utf-8" src="${root}/ueditor/ueditor.all.min.js"> </script><script type="text/javascript" charset="utf-8" src="${root}/ueditor/lang/zh-cn/zh-cn.js"></script><script>  UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;  UE.Editor.prototype.getActionUrl = function(action) {    if (action == "uploadimage" || action == "uploadscrawl" || action == "listimage" || action == "catchimage") {        return "${root}/upload/ue"    } else {      return this._bkGetActionUrl.call(this, action);    }  }</script>

    该文件的关键,拦截所有上传请求然后后台写一个Control处理该处的文件。

    贴下后台请求的处理代码:

    @PostMapping("/ue")@ResponseBody    public String ueUploadFile(HttpServletRequest request, @RequestParam("upfile") MultipartFile multipartFile) throws IOException {        try {            Map<String,String> map = Maps.newHashMap();            UploadResult uploadResult = baseFileService.upload(multipartFile.getBytes(),multipartFile.getOriginalFilename(),"uEditor",map);            if (uploadResult != null) {                UploadFileVo uploadFileVo  = new UploadFileVo();                uploadFileVo.setOriginal(multipartFile.getOriginalFilename());                uploadFileVo.setState("SUCCESS");                uploadFileVo.setSize(multipartFile.getSize()+"");                uploadFileVo.setTitle(multipartFile.getName());                uploadFileVo.setUrl(qa_manage_url + uploadResult.getGroup() + "/" + uploadResult.getFileName());                return JSON.json(uploadFileVo);            }        } catch (IOException e) {            e.printStackTrace();        }        return null;}

    其实这里主要是返回的对象属性名要跟Ueditor里面的名字一样

    我建的实体类属性如下
    private String state ;    private String title ;    private String original;    private String type;    private String url;//文件路劲Ueditor是识别这个属性的    private String size;

    以上就是Ueditor基本上手使用