前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac+IDEA+百度富文本UEditor

Mac+IDEA+百度富文本UEditor

作者头像
子乾建建-Jeff
发布2020-06-29 15:12:25
7110
发布2020-06-29 15:12:25
举报
文章被收录于专栏:iBroProiBroProiBroPro

近期,手下有一个项目。需要嵌入一个富文本编辑器,基于大厂的光环,选择了百度富文本 UEditor,之前都是 Windows+Eclipse ,转到 Mac+IDEA 后,发现差别还是有的,不管大小,即使有一点不对,都不符合预期效果。鼓捣了一下午,记录分享一下。

环境:Mac + IDEA + UEditor

基于 Maven+SSM项目

问题1 :自我认为完成了,但启动后,页面没有富文本页面。

问题2 :点击图片上传,显示后端路径配置错误。

问题3 :默认上传的图片存在了哪里?

01

下载 UEditor

官网自主下载。链接:http://ueditor.baidu.com/website/

02

将UEditor移入项目,放在webapp下的目录即可。我的放在了 static 文件夹下。结构整体如图:(index.html 已被我移走放在了 webapp 第一级子目录下,改为了 index.jsp。为啥这样做? 当然是便于访问啦。

03

UEditor -> jsp -> lib 文件夹下的 jar 拷出放在 WEB-INF -> lib 中,亦或 maven 在 pom.xml 中引入对应的依赖也可。

☉ commons-codec-1.9.jar

☉ commons-fileupload-1.3.1.jar

☉ commons-io-2.4.jar

☉ json.jar

☉ ueditor-1.1.2.jar

04

UEditor -> jsp 下的 config.jsoncontroller.jsp 移出,放在 web-app 的第一级子目录下,亦就是和 static 、WEB-INF 、index.jsp 处于同一级目录。

为啥?这一步在 Windows + Eclipse 中并没有。但在 Mac+IDEA 中就需要这么做(Windows + IDEA 应该也需要,如果有错误的朋友,可以尝试这个方法)。一个原因在于 IDEA 的静态资源文件加载方式不同。其他原因我目前也不太清楚,期待进一步的交流。

只是我这么做了以后,图片上传就不再提示后端配置错误。

05

在上一步移动 controller.jsp 时,注意看控制台可能会出现阻止移动的提示。(但实际你也移动过去了,这个自己注意)移动后,打开 ueditor 文件下的 ueditor.config.js (如果出现了阻止移动的提示,也会直接提示打开该文件)。在第 32 和 33 行位置:

, serverUrl: URL + "jsp/controller.jsp"

改为:

// 服务器统一请求接口路径
, serverUrl: URL + "../../controller.jsp"

因为之前请求的是 jsp 下面的 controller.jsp。我们在第四步已经将该文件移出。因此需要修改。这也是解决图片上传提示后端服务器配置错误的一个方法。

06

启动项目,访问 index.jsp。

index.jsp 中注意引入 js、css 的路径修改,其余可以保持不变,测试 UEditor 是否可用。

至此,项目中引入百度 UEditor 富文本编辑器就结束了,具体的使用 API 参考UEditor 官网十分详细。

回答开头提出的问题

1 完成了引入,但启动后,页面没有富文本页面

原因可能是 index.jsp 页面中没有修改 js、css 的路径。

2 点击图片上传,显示后端路径配置错误

仔细操作观察第四步和第五步,我的就靠这么解决的。

或者配置 config.json 中的 imageUrlPrefix。

配置方法:

如果你的项目在浏览器访问时,需要输入项目名,则在此将 imageUrlPrefix 的值改为你的项目名;

如果你已经设置了项目在浏览器访问时,不需要项目名字,此处 imageUrlPrefix 的空着就可以。

是否需要输入项目名的设置在 IDEA 右上角的 edit configuration -> Application context

3 默认上传的图片存在了哪里?

首先我们看配置文件 config.json ,就是那个之前被你揪出来放在外面的一个 json 文件。

imagePathFormat 就是基于项目发布后的路径,在后面继续添加的具体路径。

那么问题来了,基于 IDEA + 自己配置 Tomcat 的项目发布在哪儿?

一顿搜索,很多都说在 ${user.hone}/.IntelliJIdea/system/tomcat 下面。

在 IDEA 中配置的 tomcat,在运行时 IDEA 不会把项目放到 tomcat 路径下,而是复制一份足够的配置文件到 ${user.hone}/.IntelliJIdea/system/tomcat,各个项目互不干扰。

(原来这样,互不打扰,各自安好)

我并未找到

(原因可能这是 Win 下的路径),但这给了一个思路,在 IntelliJIdea 的 tomcat 的文件夹下应该有。Mac 电脑在命令行直接输入:

find ~ -name "tomcat"

可以查到 tomcat 相关的文件夹。恰巧有一个出现在 IntelliJIdea 文件夹下,就它了。

去找:

/Users/电脑用户名/Library(中文名字:资源库)/Caches/IntelliJIdea2019.2/tomcat/Unnamed_项目名/conf/Catalina/localhost/ROOT.xml

最后追查到一个 ROOT.xml 的文件,查看它:

嗨呀

,看见没,path 就是上面设置的 Application context 的值,docBase 就是发布后的项目路径,它就在你的项目所在地的 target 文件夹,target 下一级目录就是你的项目名,逐步可查到你配置的 imagePathFormat 的路径。

/Users/电脑用户名/develope/workspace/ideaworkspace/项目名/target/项目名/ueditor/jsp/upload/image/20200225/1582639912741024173.jpeg 

至此,就找到了 UEditor 富文本编辑器图片等资源在 IDEA 下发布的默认路径。(Oh,yeah,开心)

注意:一定要保证前后配置路径的一致性,这样才能使所有功能正常。它们都是前呼后应的!!!

备注:${user.home} Windows 系统下就是 C:/用户/xxx 。这个我没测试,只提供一个思路。

现在你对百度富文本编辑器UEditor是不是有了更深的认识呢。都是边学边长见识,第一次遇见不会,就去查别人的,然后记住,第二次会了就可以啦。加油。

原创码字不易

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iBroPro 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档