注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 
关于我

风流茶说合,酒是色媒人,古往今来,浪涛依旧,我辈今朝,叱咤风云,

网易考拉推荐

struts2用到 FCKeditor  

2009-03-12 15:06:07|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近在struts2用到 FCKeditor,在上传图片时总是出错。

Java代码 struts2用到 FCKeditor - 大将军 - 我的博客

  1. 严重: Servlet.service() for servlet SimpleUploader threw exception    
  2. java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]   

严重: Servlet.service() for servlet SimpleUploader threw exception java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]  

跟踪了一下源代码,发现struts2的filter拦截了上传文件的动作,

Java代码 struts2用到 FCKeditor - 大将军 - 我的博客

  1. //org.apache.struts2.dispatcher.Dispatcher.java   
  2. public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException {   
  3.         // don't wrap more than once   
  4.         if (request instanceof StrutsRequestWrapper) {   
  5.             return request;   
  6.         }   
  7.         String content_type = request.getContentType();   
  8.         if (content_type != null && content_type.indexOf("multipart/form-data") != -1) {   
  9.             MultiPartRequest multi = getContainer().getInstance(MultiPartRequest.class);   
  10.             request = new MultiPartRequestWrapper(multi, request, getSaveDir(servletContext));   
  11.         } else {   
  12.             request = new StrutsRequestWrapper(request);   
  13.         }   
  14.         return request;   
  15.     }  

//org.apache.struts2.dispatcher.Dispatcher.javapublic HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException { // 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); } return request; } 

在这里又找不到MultiPartRequest.class的实现类。于是出错了。

只要不让struts2拦截处理上传事件,就应该没问题了。

修改web.xml,把原来的

 

Xml代码 struts2用到 FCKeditor - 大将军 - 我的博客

  1. <filter-mapping>  
  2.     <filter-name>struts</filter-name>  
  3.     <url-pattern>/*</url-pattern>  
  4.  </filter-mapping>  
  5. 改为   
  6. <filter-mapping>  
  7.   <filter-name>struts</filter-name>  
  8.     <SPAN style="COLOR: #ff0000"><url-pattern>*.action</url-pattern>  
  9.     <url-pattern>*.jsp</url-pattern></SPAN>  
  10.  </filter-mapping> 

  评论这张
 
阅读(181)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017