使用百度富文本编辑器UEditor碰到的问题

时间:2024-08-28 09:36:50

前面使用的是kindEditor,但是发现这个已经不再维护,并且bug不少,而我又不会改,哈哈,所以我就放弃了。

原来想过要用百度的这个UEditor,但是在配置的时候遇到了很多问题,基本上加载不出来,但是最后还是硬着头皮把那些bug都解决了,顺利跑通。

问题1:按百度Demo的配置我发现连最基本的编辑器都不出来。

原因:下面的配置的顺序不能错,顺序错了可能会导致加载不出来的情况。

<!-- 配置文件 -->
<script type="text/javascript" src="/common/ueditor/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="/common/ueditor/ueditor.all.js"></script>

下面是我的配置

<!-- 实例化编辑器 -->
<script type="text/javascript">
UEDITOR_CONFIG.UEDITOR_HOME_URL = '/common/ueditor/'; //一定要用这句话,否则你需要去ueditor.config.js修改路径的配置信息
var ue = UE.getEditor('container',{
toolbars: [
['fullscreen', 'source', 'undo', 'redo', '|', 'fontsize', '|', 'blockquote', 'horizontal', '|', 'removeformat', 'formatmatch', 'link', 'unlink', '}', 'simpleupload', 'insertimage', 'preview'],
['bold', 'italic', 'underline', 'forecolor', 'backcolor', '|', 'indent', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|',
'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'insertorderedlist', 'insertunorderedlist', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter']
]
,autoHeightEnabled: false
,autoFloatEnabled: true
,initialFrameWidth : 1000//编辑器宽度,默认1000
,initialFrameHeight : 500//编辑器高度,默认320
,maximumWords : 1000//最大字符数
});
</script>

问题2:上传图片功能加载失败

  我使用的是springmvc idea

总的原因:编辑器初始化的时候会发送一个请求,去请求ueditor/jsp/controller.jsp文件,但是它报了500错误,不能正确的返回json配置。

原因1:jar包没有导入到项目中。

解决:在ueditor/jsp/lib下面有几个jar文件,需要把这几个jar文件导入到项目中,最好是直接复制到WEB-INF/lib下面,不然可能也会出现问题。 

使用百度富文本编辑器UEditor碰到的问题问题又来了,我使用的是maven管理项目的,这个ueditor-1.1.2.jar在*仓库里面没有,需要自己手动添加到本地仓库中

ueditor/jsp/lib目录下打开命令窗口,运行下面代码

mvn install:install-file -Dfile=ueditor-1.1.2.jar -Dpackaging=jar -DgroupId=com.baidu.ueditor -DartifactId=ueditor -Dversion=1.1.2

原因2:ueditor/jsp/controller.jsp文件里面会有错误。

解决:1、里面 <%@ page trimDirectiveWhitespaces="true" %> 这句报错,我直接注释了,百度了一下,这个应该是用来jsp输出html时去除多余的空行的。注释影响不大。

  2、里面write方法提示不能处理String类型的变量,这个我想是springmvc的原因,因为我发现我使用springmvc的时候所有的内置对象都没有使用struts2的时候不一样了,这个还不知道为什么会这样。

out.write( new ActionEnter( request, rootPath ).exec() );

改成了

response.getWriter().write( new ActionEnter( request, rootPath ).exec() );

这些都配置好,这个UEditor应该就配置好了,至少上传图片这一块没有问题了。

使用百度富文本编辑器UEditor碰到的问题