Ueditor上传图片,ssh和ssm框架下Ueditor整合

xiaoxiao2021-02-28  130

首先先说一下可能发生的问题,jar包冲突可能导致上传图片失败,这个是重点,之前初次使用时一直上传不了,查控制台才发现是jar包冲突了因为以前项目里面使用过,使用Ueditor文件夹里面自己的jar包,Ueditor的下载可以自行去官网下载,然后开始是SSH框架下的配置:

SSH框架整合Ueditor:

以下是项目结构ssh和ssm配置都一样:(忽略json文件的报错,因为ueditor json文件里面有注释,所以才会报错,但是没有关系,不会有什么影响,只要设置下忽略就好了)

将里面的jar包放进WEB_INF文件下的lib文件,并保证没有不同版本冲突,每个类型的jar包只能有一个版本

<div><textarea id="container" name="content" style="height: 400px"></textarea></div> <script type="text/javascript" src="<%=basePath %>ueditor/ueditor.config.js"></script> <script type="text/javascript" src="<%=basePath %>ueditor/ueditor.all.js"></script> <script type="text/javascript"> var ue = UE.getEditor('container'); ue.addListener('ready', function( editor ) { ue.execCommand( 'drafts' ); }); ue.ready(function() { ue.execCommand( 'drafts' ); }); </script>最下面的js的意思是设置本地保存。

然后在开始配置,打开config.json文件,修改上传图片项目路径,将下面用红笔圈的改为自己项目名字

Ueditor文件配置结束,现在开始设置struct2默认过滤器,自己设置过滤器取代struct2默认过滤器,不然Ueditor请求会被拦截。

在web.xml里面将原来的struct2过滤器配置为:(因为我使用的是ssh注解框架,所以还有一些action配置,如果不是注解版的,可以忽略)

<filter-name>struts2Filter</filter-name> <filter-class>org.gzhmu.forum4gy.filter.UEditorFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>org.gzhmu.forum4gy.action</param-value> </init-param> </filter> <filter-mapping> <filter-name>struts2Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 所以过滤器里面的内容为:

/** * Servlet Filter implementation class UEditorFilter */ @WebFilter("/UEditorFilter") public class UEditorFilter extends StrutsPrepareAndExecuteFilter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) { HttpServletRequest request = (HttpServletRequest) req; String url = request.getRequestURI(); // System.out.println(url); try{ if (url.contains("/Forum4gy/ueditor/jsp/")) { // System.out.println("使用自定义过滤器"); chain.doFilter(req, res); }else{ // System.out.println("使用默认过滤器"); super.doFilter(req, res, chain);} }catch(Exception e){ e.printStackTrace(); } } }

注意写过滤器路径时要注意,最好不要手写,直接从选中文件,右键->properties,复制路径,改一下就行,不然一个字母错了,又得花时间查找错误。到这里,ssh整合ueditor已经成功了,接下是ssm框架整合。

SSM框架整合Ueditor:

在UEditor文件的配置参考上面的配置,主要是springMvc配置,设置一些资源文件不被拦截,在web.xml上加入以下代码:

<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.bmp</url-pattern> </servlet-mapping> 这样写聚会导致资源文件路径不能用了,所以删除资源文件路径。如下删除:

把相应的jar包导入lib就可以了,若是不行则检查路径,大部分错误都是因为Ueditor资源被拦截或路径错误,多仔细查看浏览器和eclipse控制台提示信息。

转载请注明原文地址: https://www.6miu.com/read-80575.html

最新回复(0)