网站内容编辑器(网站后台需要添加富文本编辑器,偶然的机会发现了百度的UEditor )
优采云 发布时间: 2022-01-13 20:00网站内容编辑器(网站后台需要添加富文本编辑器,偶然的机会发现了百度的UEditor
)
网站需要在后台添加富文本编辑器。一次偶然的机会,我发现了百度的 UEditor。经过一番配置(我使用的环境是struts2+hibernate+spring),终于成功了。下面记录一下配置。过程:
step1:首先下载UEditor,我下载的是1.4.3.3版本。
step2:解压下载的UEditor,里面的目录结构如下
将整个目录复制到项目中(我将其重命名为 ueditor):
step3:使用UEditor,新建demo.html
demo.html
这里写你的初始化内容
var ue = UE.getEditor('container');
里面引入两个js文件:
这是访问富文本编辑器需要导入的两个文件
这里写你的初始化内容
此脚本加载富文本编辑器。下一步是创建富文本编辑器的实例。创建完成后可以看到富文本编辑器的页面:
var ue = UE.getEditor('container');
这是创建富文本编辑器后的页面:
好吧,简单地使用富文本编辑器就成功了。接下来,我们需要配置文件上传功能。
因为富文本上传文件需要后台支持:
step4:配置图片上传,首先在文件夹中找到config.json文件,我的文件在这里
然后看配置:
,配置完成后,最重要的一步就是修改配置过滤器,否则无法上传,因为文件上传会被struts2自己拦截,那么ueditor自带的文件上传功能就收不到文件内容了.
step5:继承struts的核心过滤器并重写:
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 这个过滤器是struts2的核心过滤器。如果要使用struts2,必须在web.xml 中配置这个过滤器。我们继承它,这样我们自己写的过滤器既有它的功能,又有我们想要的功能:
public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter{
@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
String url = request.getRequestURI();
System.out.println(url);
//如果来自ueditor就不使用struts2的过滤器
if( url.contains("/ueditor/jsp")) {
chain.doFilter(req, resp);
} else {
super.doFilter(req, resp, chain);
}
}
}
以及web.xml中的配置:
struts2
cn.yiyituan.util.MyStrutsFilter
struts2
/*
好了,至此上传图片的功能就配置好了,我们来看看效果: