首先声明一下,本人新手菜鸟一枚。注册博客园之后,因工作需要,稍微研究了下文本编辑器插件的使用,固作为随笔记录下来。如有不对之处,望大家多多指点。当然内容也是参考以下链接地址而来的。
详见以下链接地址:
http://blog.csdn.net/xiaoxian8023/article/details/35796827
实现如下功能时(在页面中添加一个文本编辑器):
第一步:下载该编辑器的插件
首先下载到 ueditor1_4_3-utf8-jsp.rar,连接地址是:http://ueditor.baidu.com/website/。我选择的是utf-8版本的
第二步:解压以后整体拷贝到Java web项目的网页根目录下。
我这里是用myeclipse建的项目,所以把ueditor拷贝到了WebRoot下即可。引用ueditor/jsp/lib下的jar包。你可以选择直接在java Build Path中配置,或者直接放入WebRoot/WEB-INF/lib文件夹中,项目会自动引用该文件夹下的jar。推荐使用直接放到WEB-INF/lib下,这样你的jar是随着项目移动的,系统会按照相对路径加载项目下的jar。如果选择第一种,如果当jar文件移动了,那么这个功能就会失效的。
第三步,在页面上引入2个js文件
- <scripttype="text/javascript"src="ueditor/ueditor.config.js"></script>
- <scripttype="text/javascript"src="ueditor/ueditor.all.js"></script>
- <textareanametextareaname="content" id="myEditor"></textarea>
- <scripttypescripttype="text/javascript">
- UEDITOR_CONFIG.UEDITOR_HOME_URL = './ueditor/'; //一定要用这句话,否则你需要去ueditor.config.js修改路径的配置信息
- UE.getEditor('myEditor');
- </script>
第四步,在页面的编辑器位置,添加html代码
第五步,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": "", /* 图片访问路径前缀 */
10. "imagePathFormat":"_images/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
第六步,ueditor支持自定义功能,界面上显示的功能都是可配置的,只要在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', '|',
- 10. 'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'pagebreak', 'template', 'background', '|',
- 11. 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
- 12. 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
- 13. 'searchreplace', 'help', 'drafts'
- 14. ]]
以下问题其实在上面都有提示,但是我是以一个菜鸟的身份来写这个随笔的。说实话这些问题我是一个一个解决之后,看第二遍上面的内容时才发现原来都有的。所以有新的菜鸟或者粗心大意的人看我的这篇随笔,我觉得能够让大家更加一目了然点。
以下是可能出现的问题
第一个错误
下图为解决步骤,只要将ueditor的jar包加上即可。
第二个错误
An error occurred at line: 12 in the jsp file: /ueditor/jsp/controller.jsp
保存时找不到这个jsp,需要将ueditor中的jar包完全导入进去,同第一个错误的解决方式。不同的是需要将如下图五个jar包全部倒入进去,
然后将这五个jar包放到WEB-INF下的lib文件夹中
第三个错误:
在jsp中引入这这两个js的时候一定要按照这个顺序引,不然也不会显示,引入jar包的顺序很重要啊
自己定义编辑器需要的内容
取得编辑器的内容
var content = UE.getEditor('editor').getContent();
图片上传时报错:ueditor中FileUtils.getTempDirectory()找不到
12345678910111213141516 | 2014 - 6 - 27 14 : 22 : 25 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet jsp threw exception Throwable occurred: java.lang.NoSuchMethodError: org/apache/commons/io/FileUtils.getTempDirectory()Ljava/io/File; at com.baidu.ueditor.upload.StorageManager.getTmpFile(StorageManager.java: 117 ) at com.baidu.ueditor.upload.StorageManager.saveFileByInputStream(StorageManager.java: 51 ) at com.baidu.ueditor.upload.BinaryUploader.save(BinaryUploader.java: 75 ) at com.baidu.ueditor.upload.Uploader.doExec(Uploader.java: 24 ) at com.baidu.ueditor.ActionEnter.invoke(ActionEnter.java: 80 ) at com.baidu.ueditor.ActionEnter.exec(ActionEnter.java: 49 ) at org.apache.jsp.core.ueditor.jsp.controller_jsp._jspService(controller_jsp.java: 74 ) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 70 ) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 ) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 374 ) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 337 ) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 266 ) at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 ) |
肯定是jar包的问题的,ueditor1.4.3需要commons-io-2.4.jar
由于原来的项目中的jars是commons-io-1.4.jar,故出现问题
如果还是报错,查看编译后的文件,是否还是原来的jar