strus2项目中百度编辑器运用的几点细节
百度编辑器的运用可以参考我之前写的一篇文章,在java项目中加入百度富文本编辑器。这篇文章是以maven+spring mvc项目进行的,总得来说配置比较简单,但是如果是想在strus2项目中配置ueditor编辑器,需要注意以下细节。
1.保证ueditor所需要的包都导入到了项目,如果是maven项目,参考上述文章,如果是普通项目,将ueditor/jsp/lib下的包放入web-inf的lib包中。
2.在上传图片的时候,若提示“未找到上传文件”且其他地方配置无误,则需要做一下拦截器的配置。新建一个UeditorFilter,继承自struts2拦截器,代码如下。
package cn.wonyen.filter; import java.io.IOException; import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; public class UeditorFilter extends StrutsPrepareAndExecuteFilter {
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
//不过滤的url
String url = request.getRequestURI();
// System.out.println(url);
if (url.contains("/ueditor1_4_3/jsp/controller.jsp")) { //注意路径
chain.doFilter(req, res);
}else{
super.doFilter(req, res, chain);
}
} }
并且,由于这个拦截器继承自StrutsPrepareAndExecuteFilter拦截器,所以原本的web.xml中的关于struts的拦截器都可以注释掉了,否则UeditorFilter 不会起到作用。注释掉的web.xml如下。
<filter>
<filter-name>ueditorFilter</filter-name>
<filter-class>cn.wonyen.filter.UeditorFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ueditorFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- <filter> -->
<!-- <filter-name>struts2</filter-name> -->
<!-- <filter-class> -->
<!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter -->
<!-- </filter-class> -->
<!-- </filter> -->
<!-- <filter-mapping> -->
<!-- <filter-name>struts2</filter-name> -->
<!-- <url-pattern>/*</url-pattern> -->
<!-- </filter-mapping> -->
<!-- <filter> -->
<!-- <filter-name>struts-prepare</filter-name> -->
<!-- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class> -->
<!-- </filter> -->
<!-- <filter-mapping> -->
<!-- <filter-name>struts-prepare</filter-name> -->
<!-- <url-pattern>/*</url-pattern> -->
<!-- </filter-mapping> -->
<!-- <filter> -->
<!-- <filter-name>struts-execute</filter-name> -->
<!-- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class> -->
<!-- </filter> -->
<!-- <filter-mapping> -->
<!-- <filter-name>struts-execute</filter-name> -->
<!-- <url-pattern>/*</url-pattern> -->
<!-- </filter-mapping> -->
3.如果图片可以上传,但是上传完以后显示在页面上的是图片的名称,而不是回显图片本身,则是图片上传路径配置的错误。如下图所示。

注意如下两个位置的配置。config.json下的imageUrlPrefix和imagePathFormat。这两个位置合起来构成图片的真实路径。(若是springmvc项目,两项可以合起来放在imagePathFormat项中配置。
imageUrlPrefix是前缀,我们填写项目名称就好,而imagePathFormat是图片的路径格式,可根据实际情况来填写。一般我们将图片放置于ueditor/jsp/upload/image文件夹下,并且按照时间的创建子文件夹。这两项配置好以后的代码如下:
"imageUrlPrefix": "/wycrm/", /* 图片访问路径前缀 */
"imagePathFormat": "/ueditor1_4_3/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
经过以上的一些配置,一般来说图片就可以正常的上传和显示了。
strus2项目中百度编辑器运用的几点细节的更多相关文章
- 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...
- 在java项目中加入百度富文本编辑器
富文本编辑器在项目中很常见,他可以将文本,图片等信息存入数据库,在编辑一些图文混排的信息的时候很有用,比如商城项目的商品详情页,包含很多带有样式的文字和图片. 此前一直使用的百度的富文本编辑器uedi ...
- 如何在vue项目中使用百度编辑器ueditor
百度编辑器官方并没有提供vue项目使用说明,目前网上也有不少人实现了相关功能,这里就不再重复,只是针对自身项目碰到的情况做个记录,就当是熟悉了一遍富文本编辑器的代码结构. 按照网上的做法,基本可以实现 ...
- 在项目中引入百度的ueditor编辑器
第一步:解压ueditor压缩包 在项目中按顺序引入三个文件 <script type="text/javascript" charset="utf-8" ...
- 在 Vue 项目中引入 tinymce 富文本编辑器
项目中原本使用的富文本编辑器是 wangEditor,这是一个很轻量.简洁编辑器 但是公司的业务升级,想要一个功能更全面的编辑器,我找了好久,目前常见的编辑器有这些: UEditor:百度前端的开源项 ...
- 将百度编辑器ueditor用在easyui中
又一个自己想深爱却一直被拖着的对象--百度编辑器(ueditor) 但终究逃不过再次把它"供奉"起来的宿命,这不今天又得好好研究一下它的使用方法,以免自己今后再次使用时的各种不便- ...
- 百度编辑器ueditor通过ajax方式提交,不需要事先转义字符的方法(异常:从客户端(xxx)中检测到有潜在危险的 Request.Form 值)
最近项目中使用百度编辑神器ueditor,确实是很好用的一款编辑器.官网教程提供的与后端数据交互都是跟表单方式有关的,项目中使用的是ajax方式提交,因此出现了不少问题,现在记录备忘下. 环境:.ne ...
- ueditor-angular(百度编辑器angular版)中,关于插入图片后不操作,图片无法正常提交的问题;
由于项目后台管理页面中需要使用编辑器,所以选择了百度编辑器这个常用的东西: 本人是小白,第一次使用百度编辑器,具体的配置是由后台的兄弟完成的,还给了demo,所以在项目开发中也一直都没发现什么问题: ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
随机推荐
- Dubbo源码学习--环境搭建及基础准备(ServiceLoader、ExtensionLoader)
环境搭建 Github上下载Dubbo最新发布版本,楼主下载版本为2.5.7. cd到源码解压目录,maven编译,命令为: mvn clean install -Dmaven.test.skip 生 ...
- 阿里Dubbo疯狂更新,关Spring Cloud什么事?
最近,开源社区发生了一件大事,那个全国 Java 开发者使用最广的开源服务框架 Dubbo 低调重启维护,并且 3 个月连续发布了 4 个维护版本. 我上次在写放弃Dubbo,选择最流行的Spring ...
- Kaggle实战之一回归问题
0. 前言 1.任务描述 2.数据概览 3. 数据准备 4. 模型训练 5. kaggle实战 0. 前言 "尽管新技术新算法层出不穷,但是掌握好基础算法就能解决手头 90% 的机器学习问题 ...
- Unity3D高性能战争迷雾实现
效果图 先上效果图吧,这是为了吸引到你们的ヽ(。◕‿◕。)ノ゚ 战争迷雾效果演示图 战争调试界面演示图 由于是gif录制,为了压缩图片,帧率有点低,实际运行时,参数调整好是不会像这样一卡一顿的. 战争 ...
- TensorFlow简易学习[3]:实现神经网络
TensorFlow本身是分布式机器学习框架,所以是基于深度学习的,前一篇TensorFlow简易学习[2]:实现线性回归对只一般算法的举例只是为说明TensorFlow的广泛性.本文将通过示例Ten ...
- Ambari Auto Start(进程自动拉起)
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/7886850.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...
- Android开发过程中使用弱引用解决内存泄露的习惯
Java虽然有垃圾回收,但是仍然存在内存泄露,比如静态变量.缓存或其他长生命周期的对象引用了其他对象,这些被引用的对象就会长期不能被GC释放,导致内存泄露. 弱引用(WeakReference)是解决 ...
- Numpy入门 - 数组聚合运算
本节主要讲解numpy的几个常用的聚合运算,包括求和sum.求平均mean和求方差var. 一.求和sum import numpy as np arr = np.array([[1, 2, 3], ...
- Web Api 2.0中使用Swagger生成Api文档的2个小Tips
当Web Api 2.0使用OAuth2授权时,如何在Swagger中添加Authorization请求头? Swagger说明文档支持手动调用Api, 但是当Api使用OAuth2授权时,由于没有地 ...
- .net程序员做的第一个安卓APP
我从毕业之后一直做的是ASP.NET,从毕业到现在都已经五六个年头了.一个事物接触久了就会慢慢没有了新鲜感热情也褪去的差不多了,我又是对新事物比较感兴趣的,虽说Android早就不算什么新事物,当对于 ...