一、Ueditor介绍
Ueditor是百度团队开源的编辑管理器,特别是对于内容管理系统来说,图文并茂的文章进行编辑发布是非常有必要的。而且它在源码上还实现了多种不同语言的demo,上手比较简单,下面就一起来了解一下。
二、Ueditor的下载
https://github.com/fex-team/ueditor/tree/v1.4.3.3
根据官方文档的说明:
在执行以上命令后,会在当前目录下生成一个文件夹 dist/,只是里面的服务端demo是php版本的,如果你是整合到javaweb项目中,则可以把php的目录替换为解压后目录中的jsp。
最终效果如下:
三、整合到maven构建的web项目
在idea中通过maven构建出webapp项目,并把Ueditor中对应的文件放入指定目录下,我的目录结构如下:
紧接着,需要修改项目的pom依赖以及配置:
pom.xml
<dependency><groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
四、把项目打为war包,便于发布到web容器,如:Tomcat
这里有个细节需要注意,如果当下直接打包,项目可能会报错:
[ERROR] ...找不到符号
[ERROR] 符号: 变量 Base64
[ERROR] 位置: 类 com.baidu.ueditor.upload.Base64Uploader
[ERROR] /F:/java_projects/ueditor-module/src/main/java/com/baidu/ueditor/upload/StorageManager.java:[117,31] 找不到符号
[ERROR] 符号: 变量 FileUtils
[ERROR] 位置: 类 com.baidu.ueditor.upload.StorageManager
虽然在打包前将原来的 lib/ 依赖添加到项目,但是打包是通过maven打包,因此在最终编译时会找不到这些依赖,如何解决呢?....方案如下:
在pom.xml找到
<plugin><artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
并将其改为如下配置:(将lib/也编译到项目包中)
<plugin><artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.8</source>
<target>1.8</target>
<includes>lib</includes>
</configuration>
</plugin>
再次打包,结果为:
最后把项目发布并测试,结果如下: