由于UEditor是用它自带的controller.jsp进行编辑器的请求处理,而有的项目是希望把所有请求都由spring来管理
所以一种方式是自己写spring里面的request mapping来对接ueditor的相关请求,不过我搞了半天没搞出来(我是菜逼啊....)
所以另一种比较粗暴简单的方式就是直接按照官方文档,仍然使用它自带的jsp进行编辑器的请求处理
(感觉配置ueditor到spring mvc的过程主要都是解决相关路径问题)
步骤:
下一个UEditor的Jsp版
添加它的lib依赖add to build path
把ueditor目录放到网站根目录下,把它自带的index.html的demo页面改成index.jsp,我的项目目录结构如下:
其中要解决几个问题,
一个是jsp文件我是默认放到WEB-INF目录下的,这样可以避免前台直接访问jsp,但是ueditor前台又需要用它的controller.jsp来管理编辑器请求的,所以直接把整个ueditor的目录放到网站根目录webapp下,这样就可以直接访问controller.jsp了
一个是我的项目的spring拦截处理了所有请求,所以ueditor的js等静态资源获取不到,需要在spring配置里面通过
<mvc:resources>标签排除掉
applicationContext.xml:
最后个问题是,出现了使用ueditor图片上传后没有显示出来,并且多图上传的图片管理中列出的图片也显示不出来的情况
后来发现是ueditor的配置文件config.json里图片访问是直接接上网站根目录的,也就是说
平时我们的项目是 localhost:8080/项目名 , 对应的ueditor图片路径应该是 localhost:8080/项目名/图片路径
而ueditor访问它上传的图片路径却是: localhost:8080/图片路径 , 把网站项目名被狗吃了!
所以一种解决方式是配置 config.json目录里的相关路径 ,比如imageUrlPrefix等,具体参考: http://www.tuicool.com/articles/UjmIzmZ ,但是这样的话就不能不把把项目名写死在config.json
另一种粗暴的解决方式是不改它的配置(既然是傻瓜式配置,所以ueditor的东西尽量不改),因为项目网站发布后,一般也是域名即项目根目录的,
所以改tomcat配置,让项目启动后能访问localhost:8080/即访问项目根目录,这种方式需要在开发时改eclipse里面的tomcat配置:
server location里面选第二个(只有eclipse刚添加tomcat服务器的时候才可以改这个选项)
然后到自己的tomcat目录下面改server.xml里面的path, 把项目目录映射为网站域名根目录:
<Context docBase="/MyCode/apache-tomcat-7.0.67/wtpwebapps/SpringMvcWithJspUEditor" path="/" reloadable="true" source="org.eclipse.jst.j2ee.server:SpringMvcWithJspUEditor"/></Host>
然后图片路径就能正常访问了:
参考了:
Eclipse配置tomcat发布路径的问题 http://blog.youkuaiyun.com/zollty/article/details/8710870
百度ueditor与spring mvc结合应做的修改. http://www.yihaomen.com/article/java/583.htm