`
wanghua305
  • 浏览: 29984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

fckeditor上传不了图片

阅读更多
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location] 


上网搜了一下,主要是因为与struts2拦截器的拦截发生冲突引起的原因:

Struts2默认使用的是Jakarta的Common-FileUpload的文件上传框架,而struts2的filter拦截了上传文件的动作,拦截器代码是这样写的:

Java代码
//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;   
        }   
        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 multi = getContainer().getInstance(MultiPartRequest.class);这句是上传文件时拦截器实现所需要的,出错的原因是找不到MultiPartRequest.class的实现类.这个类在上传框架jar文件中.这是文件上传fileupload解析器。

因此,如果需要使用Struts2的文件上传功能,则需要在web应用中增加两个JAR文件,即commons-io-1.4.jar和commons-fileupload-1.2.1.jar。将这个包或是包的最新版本放在工程的lib目录下,即解决以上异常问题,成功实现文件的上传。

上传图片时弹出完全警告:

Java代码
Security error. You probably don't have enough permissions to upload. Please check your server 


struts2对request进行了封装,所以当fck的request.getinputStream的时候就会出错.修改的方法就是对filtermapping的路径进行修改。

解决方法如下:

将下面代码中的“/*”

Java代码
<filter-mapping>   
<filter-name>struts2</filter-name>   
<url-pattern>/*</url-pattern>   
</filter-mapping> 


改为:“*.action”。
另外,jsp页面上面用到了struts2的tag,那么就要增加一个*.jsp的url-pattern。

如下:

Java代码
<filter-mapping>     
  <filter-name>struts2</filter-name>     
  <url-pattern>*.action</url-pattern>     
</filter-mapping>     
 
<filter-mapping>     
  <filter-name>struts2</filter-name>     
  <url-pattern>*.jsp</url-pattern>     
</filter-mapping>  

如果你用到struts2的datetimepicker标签发现他不能用了
你查看源代码的时候会发现有如下代码
<link rel="stylesheet" href="/para/struts/xhtml/styles.css" type="text/css"/>
<script language="JavaScript" type="text/javascript">
// Dojo configuration
djConfig = {
baseRelativePath: "/para/struts/dojo",
isDebug: false,
bindEncoding: "utf-8",
debugAtAllCosts: true // not needed, but allows the Venkman debugger to work with the includes
};
</script>
<script language="JavaScript" type="text/javascript"
src="/para/struts/dojo/dojo.js"></script>
<script language="JavaScript" type="text/javascript"
src="/para/struts/simple/dojoRequire.js"></script>
这时加上以下过滤后问题解决
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
当然要用datetimepicker标签在<head>中还要加入 <s:head theme="ajax"/>

二 Struts2 + Dojo

Struts2部分更简单了。虽然Struts2不直接支持FCKeditor,但直接Dojo,而且个人更喜欢这种简洁的风格,我用的是Struts2.0.11版本进行测试,使用时,只要配置两个地方

1. 在HTML<head />标签之间,加上
Html代码
<s:head theme="ajax"/> 
2. 将textarea加上主题  Html代码
<s:textarea theme="ajax" />
分享到:
评论

相关推荐

    fckeditor 批量图片上传

    服务器端处理完图片上传后,会返回一个响应,告知FCKeditor上传的结果。这个响应可以是JSON格式或其他结构化的数据,包含上传成功或失败的信息,以及新图片的URL。FCKeditor根据这个响应更新编辑器中的图片列表,...

    fckeditor 2.5 上传图片会自动改名

    在探讨“fckeditor 2.5 上传图片会自动改名”这一问题时,我们首先需要理解FCKeditor(现在通常被称为CKEditor)的基本概念及其功能。FCKeditor是一款广泛应用于网页开发中的富文本编辑器,它允许用户在网页上进行...

    fckeditor集成远程图片上传插件

    这个插件的出现使得用户可以直接在编辑器内上传图片到服务器,无需离开编辑界面,极大地提升了工作效率。插件作者对原有的功能进行了升级和集成,确保其与FCKeditor无缝配合,提供更顺畅的用户体验。 在实际使用中...

    FCKeditor2.6 上传图片报错解决方案

    FCKeditor2.6 上传图片报错解决方案 用FCKeditor上传图片时出现XML request error:OK(200)错误。终结解决方案。 替换fckeditor\editor\filemanager\browser\default\js下面的fckxml.js

    FCKeditor图片上传并显示

    这图片上传为定宽,定高上传。修改文件径fckeditor--ditor--dialog--fck_image中的fck_image.js、fckconfig.js等等花时间琢磨一下. 其中还有我自己改写的公共类,带"image"标识的文件,希望大家都详细看看,改过的...

    FCKEDITOR JSP 上传图片

    在JSP(JavaServer Pages)环境下,开发者经常使用FCKeditor来实现图文混排,特别是需要用户能够上传图片到服务器的场景。本文将深入探讨如何配置FCKeditor以实现JSP页面的图片上传功能。 首先,我们需要了解...

    jsp版fckeditor 工程源代码(可上传图片)

    "jsp版fckeditor 工程源代码(可上传图片)" 这个标题表明我们正在处理一个基于JavaServer Pages (JSP) 的项目,它使用了FCKeditor,这是一个知名的富文本编辑器,特别是对于网页内容的编辑和管理。此工程源代码的亮点...

    fckeditor集成远程图片上传插件 v3.0.rar

    《fckeditor集成远程图片上传插件v3.0详解》 在互联网内容创作中,编辑器扮演着至关重要的角色,而FCKeditor是一款广受欢迎的开源富文本编辑器,它为用户提供了类似Microsoft Word的在线编辑体验。本文将详细介绍...

    Fckeditor可上传图片

    **Fckeditor可上传图片** Fckeditor是一款开源的Web富文本编辑器,它为用户提供了一种在网页上编辑内容的强大工具,支持多种格式的文本输入,包括HTML、CSS、JavaScript等。"可上传图片"这一特性使得用户能够在编辑...

    FCKeditor 插件 远程保存图片

    它提供了丰富的功能,如文本格式化、图片上传、链接创建等。然而,一个常见的问题是在使用FCKeditor时,如果用户复制并粘贴了包含外部图片的网页内容,这些图片通常会引用原始源站的URL,而不是保存在本地服务器上。...

    FCKeditor控件示例 上传文本,图片,原格式

    **FCKeditor控件详解:上传文本、图片与保持原格式** FCKeditor是一款功能强大的网页文本编辑器,它允许用户在网页上编辑内容时,享受类似Microsoft Word的富文本编辑体验。这款编辑器广泛应用于内容管理系统(CMS...

    FCKeditor.Net上传图片加水印

    总的来说,"FCKeditor.Net上传图片加水印"是一个涉及前后端协同工作的过程,需要对FCKeditor.Net的API、图片处理技术和Web安全有深入理解。通过这样的功能,不仅可以提升网站的内容质量,还可以为用户提供更丰富的...

    fckeditor上传.变_突破

    ### fckeditor上传突破详解 #### 一、FCKEditor简介 FCKEditor是一款非常流行的开源富文本编辑器,被广泛应用于各种网站系统中。它能够为用户提供强大的编辑功能,包括但不限于文字格式设置、图片上传、链接插入等...

    JSP使用FCKeditor(带上传图片)实例.rar

    当用户在FCKeditor中选择上传图片时,FCKeditor会向指定的`FileBrowserUploadUrl`发起POST请求,服务器端的Servlet接收到请求后,读取上传的文件并保存到服务器的特定目录。 **安全与优化** 在实际应用中,需要考虑...

    在Lotus中嵌入Fckeditor上传代码

    "在Lotus中嵌入Fckeditor上传代码"这个主题涉及到在Lotus Notes应用中集成FCKeditor,一个流行的开源富文本编辑器,以实现更加美观且功能强大的附件上传功能。FCKeditor以其易于使用和高度自定义的特性,被广泛用于...

    为fckeditor添加多文件批量上传组件

    然而,原版的FCKeditor并不支持多文件批量上传,这对于需要处理大量图片或其他文件的用户来说,是一个明显的短板。本文将详细讲解如何为FCKeditor添加多文件批量上传组件,以实现多图上传的功能。 首先,我们需要...

    FCKEDITOR 常用上传方法

    以下是关于FCKEditor上传方法的详细说明: 1. **表单提交上传** 在FCKEditor 2.2版本中,文件上传通常通过HTML表单实现。例如: ```html ...

    struts2,fckeditor冲突解决

    在使用FCKeditor上传图片时,如果没有正确配置Action,Struts2可能无法识别或处理上传请求。因此,你需要在`struts.xml`文件中为FCKeditor的上传操作创建一个专门的Action,并设置相应的接收路径。 2. **文件上传...

    FCK(fckeditor)远程图片上传功能

    在FCKeditor中,远程图片上传是指用户在编辑文章时,可以直接输入一个远程图片的URL,编辑器会自动尝试将该图片抓取到本地服务器,然后插入到文章中。这样做的好处是用户可以快速引用网络上的图片资源,同时避免了因...

Global site tag (gtag.js) - Google Analytics