FCKeditor 与 struts2 上传图片时出错
来源:互联网 发布:轻量级看图软件 编辑:程序博客网 时间:2024/05/01 06:47
最近在struts2用到 FCKeditor,在上传图片时总是出错。
严重: Servlet.service() for servlet SimpleUploader threw exception
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
在网上找了一下,发现
http://bbs.laoer.com/read-topic-6-ff808081143476140114df232a1f2608-0-1-index-1.html
和我的情况差不多。
跟踪了一下源代码,发现struts2的filter拦截了上传文件的动作,
//org.apache.struts2.dispatcher.Dispatcher.java
public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException {
// don't wrap more than once
if (request instanceof StrutsRequestWrapper) {
return request;
}
// don't wrap more than once
if (request instanceof StrutsRequestWrapper) {
return request;
}
String content_type = request.getContentType();
if (content_type != null && content_type.indexOf("multipart/form-data") != -1) {
MultiPartRequest multi = getContainer().getInstance(MultiPartRequest.class);
request = new MultiPartRequestWrapper(multi, request, getSaveDir(servletContext));
} else {
request = new StrutsRequestWrapper(request);
}
if (content_type != null && content_type.indexOf("multipart/form-data") != -1) {
MultiPartRequest multi = getContainer().getInstance(MultiPartRequest.class);
request = new MultiPartRequestWrapper(multi, request, getSaveDir(servletContext));
} else {
request = new StrutsRequestWrapper(request);
}
return request;
}
在这里又找不到MultiPartRequest.class的实现类。于是出错了。
}
在这里又找不到MultiPartRequest.class的实现类。于是出错了。
只要不让struts2拦截处理上传事件,就应该没问题了。
修改web.xml,把原来的
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
改为
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
而上传页面调用时直接用文件名调用(如upload.jsp)。struts2只处理 *.action 的请求。
试了一下。和预想的一样,一切OK。
- FCKeditor 与 struts2 上传图片时出错
- struts2 FCKeditor 上传图片时候的那些纠缠不清的问题
- fckeditor 图片上传问题
- FCKEDITOR 上传图片
- FCKEditor上传图片重命名
- fckeditor 上传本地图片
- struts2.1与FCKEditor 上传问题完美解决(原创)
- FCKEditor上传图片时没响应与<pages theme="PCWebSkin">冲突
- FCKEDITOR与谷歌浏览器上传图片特别奇怪问题
- FCKeditor 上传图片自动重命名
- Fckeditor上传图片的错误
- FCKeditor限制图片上传尺寸
- fckeditor不能上传图片文件
- fckeditor图片上传绝对路径问题
- FCKeditor图片上传进度条不动
- FCKeditor实现批量上传图片
- FCKeditor图片上传 进度条不动
- Fckeditor中使用图片上传
- 《C++0x漫谈》系列之:多线程内存模型
- 瘦身前后——兼谈语言进化
- c# 3.0 初体验 1
- 为什么C++
- 时间呐
- FCKeditor 与 struts2 上传图片时出错
- Linux系统设备管理
- Programming Can Ruin Your Life
- 设计模式区别(一)
- 对乌迪内斯七年不败的记录作古
- 泛型归并排序
- JTA和JDBC事务
- AXIS User Guide-最基本的入门
- 泛型插入排序