我用的是FCKeditor2.5基本版本和FCKeditor java 2.3版本,但是我配置后,FCKeditor的文字编辑功能都可以实现了,但是插入图片时总是报错,郁闷,请问这是为什么啊,还有就是怎么设置FCKeditor文本编辑区域的大小啊,整了好长时间了,就是没成功.

解决方案 »

  1.   

    1.将 serializer.jar, xalan.jar加入lib中,
    2. 建立文件目录 UserFiles, 其包含3个子目录Image, Flash, File
      

  2.   

    谢谢楼上,不过不知道serializer.jar, xalan.jar是什么包,能说一下在哪里找到这两个包吗,谢谢!,还有就是怎样控制文本编辑区域的大小啊
      

  3.   

    我的FCKeditor配置过程是这样的:
    解压FCKeditor_2.5.zip,(FCKeditor主文件),将fckeditor目录复制到网站根目录下,
    解压FCKeditor-2.3.zip,(jsp,FCKeditor整合包), 
    将FCKeditor-2.3/web/WEB-INF/web.xml中的两个servlet,servlet-mapping定义复制到自已项目的web.xml文件中 
    修改为 
      <servlet-mapping>   
             <servlet-name>Connector </servlet-name>   
             <url-pattern>/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector </url-pattern>   
         </servlet-mapping>   
         <servlet-mapping>   
             <servlet-name>SimpleUploader </servlet-name>   
             <url-pattern>/fckeditor/editor/filemanager/upload/simpleuploader </url-pattern>   
       </servlet-mapping> 
    将FCKeditor-2.3/web/WEB-INF/lib目录下文件commons-fileupload.jar,FCKeditor-2.3.jar复制到自已项目的lib文件夹中
    在需使用FCKeditor的jsp界面中加入:
    <%@ page language="java" import="com.fredck.FCKeditor.*" %>
    <%
    FCKeditor oFCKeditor ; 
    oFCKeditor = new FCKeditor( request, "contentString" ) ; 
    oFCKeditor.setBasePath( request.getContextPath() + "/fckeditor/" ) ; 
    String contentString = (String) request.getAttribute("contentString"); 
    if(contentString != null) 
    oFCKeditor.setValue( contentString ); 
    out.println( oFCKeditor.create() ) ;
    %>
    经过这样的配置后,虽然可以编辑文字并保存到数据库中,但是却不能插入图片,在插入图片是出现如下错误: 是不是我的FCKeditor-2.3.zip,(jsp,FCKeditor整合包)没配置好啊,出现了这种php型的错误,
      

  4.   

    最近要做一个小小的模块,新闻发布系统,其实和文章没什么区别。要集成FCKeditor我正准备参考一下资料,把它完美的集成到项目中。
      

  5.   

    参看FCK的两个基本类,ConnectorServlet,SimpleUploadServlet,把这两个类的流程看懂了就没什么问题了,另外注意FCK在web.xml文件中的配置,配置很简单
      

  6.   

    FCK主要是配置两个js文件的下指向servlet的目录,因为fck的文件上传好像是用ajax实现的。
      

  7.   

    我出现上传图片的原因是不是fckconfig.js里的默认上传是php语言没有改为jsp语言啊,我看在fckconfig.js里有这么一句话:var _FileBrowserLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py
    var _QuickUploadLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py
    是不是应该把php改为jsp啊
      

  8.   

    一般应该是路径上传路径没有指定或者指定错误
    <%@ taglib uri="http://fckeditor.net/tags-fckeditor" prefix="FCK" %><FCK:editor id="EditorDefault" basePath="/FCKeditor/"
    imageBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"
    linkBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"
    flashBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"
    imageUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
    linkUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
    flashUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
    </FCK:editor>把
    imageBrowserURL
    ……
    flashUploadURL
    的路径看的配合适我当时就这个问题
      

  9.   

    很多都是看的网上的内容,我也做了这个。有很多要改动的。我没有加载 serializer.jar, xalan.jar加入lib中,恩,帮我看看,总结下给你。 呵呵,一直很懒,第一步,我FCK 放在我的的工程路径 news_dev/jsp/background/FCKeditor(自己定,写这个主要是XML配置时候,可能有关联,你看看 xml 中的,Connector)
    第二步,配置XML,
    <!-- FCKeditor上传组件-->
    <servlet>
    <servlet-name>Connector</servlet-name>
    <servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
    <init-param>
    <param-name>baseDir</param-name>
    <!-- 此为文件浏览路径 -->
    <param-value>/uploadImg/</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet> <servlet>
    <servlet-name>SimpleUploader</servlet-name>
    <servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>
    <init-param>
    <param-name>baseDir</param-name>
    <!-- 此为文件上传路径,需要在WebRoot 目录下新建 UserFiles 文件夹 -->
    <!-- 根据文件的类型还需要新建相关的文件夹 Image、Flash -->
    <param-value>/uploadImg/</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <!-- 此参数为是否开启上传功能 -->
    <param-name>enabled</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <param-name>AllowedExtensionsFile</param-name>
    <param-value></param-value>
    </init-param>
    <init-param>
    <!-- 此参数为文件过滤,以下的文件类型都不可以上传 -->
    <param-name>DeniedExtensionsFile</param-name>
    <param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value>
    </init-param>
    <init-param>
    <param-name>AllowedExtensionsImage</param-name>
    <param-value>jpg|gif|jpeg|png|bmp</param-value>
    </init-param>
    <init-param>
    <param-name>DeniedExtensionsImage</param-name>
    <param-value></param-value>
    </init-param>
    <init-param>
    <param-name>AllowedExtensionsFlash</param-name>
    <param-value>swf|fla</param-value>
    </init-param>
    <init-param>
    <param-name>DeniedExtensionsFlash</param-name>
    <param-value></param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Connector</servlet-name>
    <url-pattern>/jsp/background/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SimpleUploader</servlet-name>
    <url-pattern>/jsp/background/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern>
    </servlet-mapping> <!-- FCKeditor上传组件-->第3步,FCK自己的修改。好像很多。
    1.解压FCKeditor2.2后,把目录/editor和fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件copy到/FCKeditor下
       删除目录/editor/_source,
       删除/editor/filemanager/browser/default/connectors/下的所有文件
       删除/editor/filemanager/upload/下的所有文件
       删除/editor/lang/下的除了fcklanguagemanager.js, en.js, zh.js, zh-cn.js四个文件的所有文件2.打开/FCKeditor/fckconfig.js
       修改 FCKConfig.DefaultLanguage = 'zh-cn' ;  
       把FCKConfig.LinkBrowserURL等的值替换成以下内容:
       FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;
       FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;
       FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;
       FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;
       FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;
       FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;
    3.添加文件 /FCKeditor/test.jsp:
    加载JS,要注意,你是jsp页面,还是*.do
    <script type="text/javascript" src="jsp/background/FCKeditor/fckeditor.js"></script>
    <script type="text/javascript">
    window.onload=function(){
    var oFCKeditor = new FCKeditor("body");
    oFCKeditor.BasePath = "jsp/background/FCKeditor/";
    oFCKeditor.Height="350px"; //宽度
    oFCKeditor.Width="720px"; //高度
    oFCKeditor.ToolbarSet = "zwjDefault"; //自定定义类型
    oFCKeditor.ReplaceTextarea("body");
    }
    </script>
      

  10.   

    11楼说得editor和fckconfig.js, fckeditor.js, fckstyles.xml,  fcktemplates.xml这四个文件是指FCKeditor基本包里的这四个文件吗,我看FCKeditor.java压缩包里没有这四个文件啊,但是fckconfig.js文件改怎么配置啊,
    var _FileBrowserLanguage = 'php' ; // asp  ¦ aspx  ¦ cfm  ¦ lasso  ¦ perl  ¦ php  ¦ py 
    var _QuickUploadLanguage = 'php' ; // asp  ¦ aspx  ¦ cfm  ¦ lasso  ¦ perl  ¦ php  ¦ py 
    它这里默认的语言是php
    所以我一旦上传图片的时候就报php错误,改为jsp就报404错误,
    能在帮我分析一下吗,谢谢了!,弄了好几天了,都快急死拉
      

  11.   

    哦,你要加一个 上传图片的路径 我的是
    news_dev/uploadImg
    第二种,我是放在web.xml中配置的。这个方法,是我的同事(调用火影中鼬 说 暮“亦师亦友的人”,哈哈哈哈)
    我觉得很高明:
    web.xml

    <!-- 装载信息-->
    <servlet>
    <servlet-name>loadServer</servlet-name>
    <servlet-class>common.web.LoadServer</servlet-class>
    <init-param>
    <param-name>htmlDir</param-name>
    <param-value>/newsHtml/</param-value>
    </init-param>
    <init-param>
    <param-name>imgDir</param-name>
    <param-value>/uploadImg/Image/</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 装载信息-->
    然后通过 class LoadServer 中的方法
    public void init(ServletConfig config) throws ServletException {
    super.init(config);

    String strHtmlDir=config.getInitParameter("htmlDir");
    String strImgDir=config.getInitParameter("imgDir");
    if(!StringUtil.isEmpty(strHtmlDir)){
    if(strHtmlDir.charAt(0)=='/'){
    strHtmlDir=strHtmlDir.substring(1);
    }
    }
    hmCode.put("htmlDir",strHtmlDir);

    //把绝对路径放入到Hashmap
    String strPath = config.getServletContext().getRealPath("/");
    hmCode.put("realPath",strPath);

    File file=new File(strPath+strImgDir);
    if(!file.exists()){
    file.mkdirs();
    }

    file=new File(strPath+strHtmlDir);
    if(!file.exists()){
    file.mkdirs();
    }
    hmCode.put("newHtmlPath",strPath+strHtmlDir);
    loadProperty(); }
      

  12.   

    fckeditor.js 里的
    打开/FCKeditor/fckconfig.js
       修改 FCKConfig.DefaultLanguage = 'zh-cn' ;  
       把FCKConfig.LinkBrowserURL等的值替换成以下内容:
       FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;
       FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;
       FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;
       FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;
       FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;
       FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;还有 3.添加文件 /FCKeditor/test.jsp: 
    错了。
    我是放在跟FCKeditor 同一目录的,不是在里面。呵呵。 那个是我以前测试的。
    你那个PHH,我不知道。
    我以前 做的时候,自己写了个blog。http://hi.baidu.com/%B7%C9%CE%C3/blog/item/ec21adcd0e92cb550fb3459f.html
    也是copy,只有 最后加载什么*.jar 我没有放。其他的我都是照着做。容易出错的,就是 web.xml配置路径,还有就是 到底你是.jsp,还是*.do 要用到这个编辑器。我们练习项目是用struts1做的。所以在调用js和配置js时候,都是项目的绝对路径,要是需要我发给你。交个朋友。呵呵。msn:[email protected] 
    宗旨:喜欢java编程,不骗财不骗色。
      

  13.   

    问题已搞定,结贴,感谢大家!特别感谢junslover!