FCKEditor使用说明(jsp)

1. FCKeditor 介绍
FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功
能. FCKeditor 支持当前流行的浏览器如IE 5.5+, Firefox 1.0+, Mozilla 1.3+与Netscape 7+等。

FCKeditor官司方网址:http://www.fckeditor.net/

FCKeditor在线DEMOhttp://www.fckeditor.net/demo

FCKeditor下载直址:http://www.fckeditor.net/download (该版本为 2.3.2 ),最新版已经是2.4了。

2.FCKeditor.java介绍

       FCKeditor不能直接在JSP项目中使用,需要FCKeditor.java库的支持。

FCKeditor.java是针对对JAVA中使用FCKeditorSimone Chiaretta开发的FCKeditorJAVA实现。

       FCKeditor.java下载地址:http://www.fckeditor.net/download (最近版本为2.3)

 

3.JAVA项目中使用FCKeditor在线编辑器

       开发环境:JDK5.0 <!--[if !supportLists]--> Eclipse 3.2.1 + WTP1.5.2

(1)新建一个WEB工程:


(2)解压 FCKeditor_ 2.3.2 .zip包,将其中的 edit 文件夹到项目中的 WebRoot 目录

(3)解压 FCKeditor_ 2.3.2 .zip 包,将其中的 fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 文件夹到项目中的 WebRoot 目录

(4)解压 FCKeditor.java-2.3.zip 包,将其中的 /web/WEB-INF/lib 下的两个 jar 文件到项目的 WebRoot/WEB-INF/lib 目录

(5)解压 FCKeditor.java-2.3.zip 包,将其中的 /src 下的 FCKeditor.tld 文件到项目的 WebContent/WEB-INF 目录

(6)删除 WebContent/edit 目录下的 _source 文件夹(以“_”开始的文件,在项目中无用)

完成后的目录结构下如:

说明:图中的input.jsp和display.jsp两个是我写的测试集成FCKeditor的JSP文件。

      UserFiles是FCKeditor上传文件的文件夹。

  • 修改WebContent/WEB-INF/web.xml文件,加入FCKeditor的配置信息,如下:
xml 代码
 
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <web-app id="WebApp_ID" version="2.4"  
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.     <display-name>FCKeditor display-name>  
  7.     <servlet>  
  8.         <servlet-name>Connector servlet-name>  
  9.         <servlet-class>  
  10.             com.fredck.FCKeditor.connector.ConnectorServlet  
  11.          servlet-class>  
  12.         <init-param>  
  13.             <param-name>baseDir param-name>  
  14.                
  15.             <param-value>/UserFiles/ param-value>  
  16.          init-param>  
  17.         <init-param>  
  18.             <param-name>debug param-name>  
  19.             <param-value>true param-value>  
  20.          init-param>  
  21.         <load-on-startup>1 load-on-startup>  
  22.      servlet>  
  23.     <servlet>  
  24.         <servlet-name>SimpleUploader servlet-name>  
  25.         <servlet-class>  
  26.             com.fredck.FCKeditor.uploader.SimpleUploaderServlet  
  27.          servlet-class>  
  28.         <init-param>  
  29.             <param-name>baseDir param-name>  
  30.                
  31.                
  32.             <param-value>/UserFiles/ param-value>  
  33.          init-param>  
  34.         <init-param>  
  35.             <param-name>debug param-name>  
  36.             <param-value>true param-value>  
  37.          init-param>  
  38.         <init-param>  
  39.                
  40.             <param-name>enabled param-name>  
  41.             <param-value>false param-value>  
  42.          init-param>  
  43.         <init-param>  
  44.             <param-name>AllowedExtensionsFile param-name>  
  45.             <param-value> param-value>  
  46.          init-param>  
  47.         <init-param>  
  48.                
  49.             <param-name>DeniedExtensionsFile param-name>  
  50.             <param-value>  
  51.                 php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi  
  52.              param-value>  
  53.          init-param>  
  54.         <init-param>  
  55.             <param-name>AllowedExtensionsImage param-name>  
  56.             <param-value>jpg|gif|jpeg|png|bmp param-value>  
  57.          init-param>  
  58.         <init-param>  
  59.             <param-name>DeniedExtensionsImage param-name>  
  60.             <param-value> param-value>  
  61.          init-param>  
  62.         <init-param>  
  63.             <param-name>AllowedExtensionsFlash param-name>  
  64.             <param-value>swf|fla param-value>  
  65.          init-param>  
  66.         <init-param>  
  67.             <param-name>DeniedExtensionsFlash param-name>  
  68.             <param-value> param-value>  
  69.          init-param>  
  70.         <load-on-startup>1 load-on-startup>  
  71.      servlet>  
  72.     <servlet-mapping>  
  73.         <servlet-name>Connector servlet-name>  
  74.         <url-pattern>  
  75.             /editor/filemanager/browser/default/connectors/jsp/connector  
  76.          url-pattern>  
  77.      servlet-mapping>  
  78.     <servlet-mapping>  
  79.         <servlet-name>SimpleUploader servlet-name>  
  80.         <url-pattern>  
  81.             /editor/filemanager/upload/simpleuploader  
  82.          url-pattern>  
  83.      servlet-mapping>  
  84. web-app>  

注:web.xml中已经加入了一些常用配置的说明。

  • 新建input.jsp文件,内容如下:(注意内容中的 testfck这个id)


(上面不能直接帖HTML的代码,所以只能帖一个图片上来,要是有知道如何帖HTML代码的朋友,请告诉我一下,谢谢)

说明:在JSP中集成FCKeditor有以下几种方式:

(1) <!--[endif]-->JavaScript集成:

如上面内容所示,通过新建一个FCKeditor对象,然后调用该对象的设置方法来设置FCKeditor的各个属性,最后调用FCKeditorReplaceTextarea()替换HTML页面中的<textarea>标签。另外FCKeditor也可以调用它的create()方法来直接在JSP嵌入FCKeditor编辑器。

注:注意上面的oFCKeditor.BasePath = "";用这种方式FCKeditor会去查找它的editor目录下的fckeditor.html文件,由于我是直接将editor文件夹拷贝到WebContent目录下,所以将它的BasePath设置为””,如果您将editor拷贝到其它目录,请设置相应的BasePath属性。FCKeditor默认是将其放在fckeditor目录

(2) <!--[endif]-->使用JSP自定义标签(该方法一定要完成第(5)步:解压 FCKeditor.java-2.3.zip 包,将其中的 /src 下的 FCKeditor.tld 文件到项目的 WebContent/WEB-INF 目录)

首先在JSP中加入FCKeditor标签:

<%@ taglib uri=”/WEB-INF/FCKeditor.tld” prefix=”fck” %>

                 然后在JSP页面中加入如下代码,集成FCKeditor编辑器:
js 代码
  1.     id="testfck"    
  2.     basePath="/FCKeditor/"   
  3.     height="60%"  
  4.     skinPath="/FCKeditor/editor/skins/default/"   
  5.     toolbarSet="Default"  
  6.     imageBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"  
  7.     linkBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"  
  8.     flashBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"  
  9.     imageUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"  
  10.     linkUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"  
  11.     flashUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">  
  12.   

(10) 新建display.jsp文件,这个文件比较简单,只是简单的显示从FCKeditor在线编辑器传递过来的内容,如下:

<%=request.getParameter("testfck")%>

注意这里的getParameter(“testfck”),这个”testfck”就是在input.jsp中设置的id

4.FCKeditor类说明

下面是用来在页面中建立编辑器的FCKEDITOR 类的说明

(1) 构造器:

FCKeditor(instanceName[,width,height,toolbarSet,value])


  • instanceName:编辑器的唯一名称(相当于ID)

  • WIDTH:宽度

  • HEIGHT:高度

  • toolbarSet:工具条集合的名称

  • value:编辑器初始化内容


(2) 属性:

  • instanceName:编辑器实例名

  • width:宽度,默认值为100%

  • height:高度,默认值是200

  • ToolbarSet:工具集名称,参考FCKCONFIG.JS,默认值是Default

  • value:初始化编辑器的HTML 代码,默认值为空

  • BasePath:编辑器的基路径,默认为/Fckeditor/文件夹,注意,尽量不要使用相对路径.最用相对于站点根路径的表示方法,要以/结尾

  • CheckBrowser:是否在显示编辑器前检查浏览器兼容性,默认为true

  • DisplayErrors:是否显示提示错误,默为true;

(3) 集合:

Config[Key]=value;

这个集合用于更改配置中某一项的值,

oFckeditor.Config["DefaultLanguage"]="ptbr";

(4) 方法:

Create()

建立并输出编辑器

RepaceTextArea(TextAreaName)

用编辑器来替换对应的文本框

5.如何配置FCKEDITOR

FCKEDITOR 提供了一套用于定制其外观,特性及行为的设置集.主配置文件名为Fckconfig.js你既可以编辑主配置文件,也可以自己定义单独的配置文件.配置文件使用JAVASCRIPT 语法.修改后,在建立编辑器时,可以使用以下语法:

varoFCKeditor=newFCKeditor('FCKeditor1');

oFCKeditor.Config['CustomConfigurationsPath']='/myconfig.js';

oFCKeditor.Create();

提醒:当你修改配置后,请清空浏览器缓存以查看效果

配置选项:

AutoDetectLanguage=true/false 自动检测语言

BaseHref=""相对链接的基地址

ContentLangDirection="ltr/rtl"默认文字方向

ContextMenu=字符串数组,右键菜单的内容

CustomConfigurationsPath=""自定义配置文件路径和名称

Debug=true/false 是否开启调试功能,这样,当调用FCKDebug.Output(),会在调试窗中输出内容

DefaultLanguage=""缺省语言

EditorAreaCss=""编辑区的样式表文件

EnableSourceXHTML=true/false TRUE ,当由可视化界面切换到代码页时,HTML 处理成XHTML

EnableXHTML=true/false 是否允许使用XHTML 取代HTML

FillEmptyBlocks=true/false 使用这个功能,可以将空的块级元素用空格来替代

FontColors=""设置显示颜色拾取器时文字颜色列表

FontFormats=""设置显示在文字格式列表中的命名

FontNames=""字体列表中的字体名

FontSizes=""字体大小中的字号列表

ForcePasteAsPlainText=true/false 强制粘贴为纯文本

ForceSimpleAmpersand=true/false

  • 9a565ef4-8900-4cb1-98f7-c69fa273c853-thumb
  • 大小: 90 KB
  • 03eb8907-d2c5-434f-908b-7ae6a757f5f5-thumb
  • 大小: 286.1 KB
  • 3868504c-edbf-4449-bc21-847a62efa670-thumb
  • 大小: 760 KB

 

from:http://www.javaeye.com/topic/54509

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
彻底解决fckeditor(jsp版)上传中文图片乱码问题,我这里用的编码是utf-8的,这里用的fckeditor 是2.6的,fckeditor.java包是2.3的,经过我修改ConnectorServlet.java和SimpleUploaderServlet.java两个文件,重新生成fckeditor-java-2.3.jar包, 要解决所有的乱码问题,有3部要修改, 1.修改Web容器的字符编码,如果Web容器用的是Tomcat,则修改conf/server.xml文件,在两个Connector中添加“URIEncoding="utf-8"”,我这里用的是utf-8编码,所以修改成utf-8,若项目是gb2312编码,则设置为“URIEncoding="gb2312"”。 2.在“浏览服务器”页面中上传文件时,打开项目WebRoot中的文件/editor/filemanager/browser/default/frmupload.html,在head中加一个meta: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,看看该文件是不是utf-8格式的,若不是,则转换成utf-8,若你用的不是utf-8则转成你用的那种编码,上面charset也设置成你用的编码 3.修改ConnectorServlet.java和SimpleUploaderServlet.java两个文件,我在这两个文件中都是加了一个静态变量encoding,private static String encoding;保存项目中的编码, 若在web.xml文件中没有给这个变量传值的话,默认是gb2312,如下代码if(encoding.isEmpty()){encoding="gb2312";},在ConnectorServlet.java的doGet与doPost的开头部分加入request.setCharacterEncoding(encoding);将请求的字符集编码设置成项目中的编码,在ConnectorServlet.java和SimpleUploaderServlet.java两个文件中的DiskFileUpload upload = new DiskFileUpload();后面加入upload.setHeaderEncoding(encoding);告诉FileUpload组件处理时的编码为项目编码,在FileItem中,用getString(encoding),这项设置可以解决获取的表单字段为乱码的问题,所以在每个FileItem实例后面都执行一次getString(encoding),就告诉FileItem在取值时用的编码是encoding所设置的编码。如在ConnectorServlet.java和SimpleUploaderServlet.java两个文件中的 FileItem item后面加上一句item.getString(encoding);在FileItem uplFile后面加上一句uplFile.getString(encoding); 接下来就是设置web.xml了,在web.xml中给上面讲到的encoding传值,如下 <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> 一切都OK了,真正的解决了上传中文名图片乱码问题。 在上面的第3步中,要用到Ant产生jar,这时要注意, 把Tomcat安装目录下/server/lib里的catalina-ant.jar复制到项目的/WEB-INF/lib下。打开build.xml,修改property name="catalina.home"成Tomcat的安装目录。修改taskdef name="deploy"、taskdef name="list"、taskdef name="reload"、taskdef name="undeploy"如下: <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"> <classpath refid="compile.classpath"></classpath> </taskdef> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"> <classpath refid="compile.classpath"></classpath> </taskdef> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> <classpath refid="compile.classpath"></classpath> </taskdef> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"> <classpath refid="compile.classpath"></classpath> </taskdef> 然后在Eclipse的Outline窗口中运行Ant的dist,就会生成的新的FCKeditor-2.3.jar。 绝对是真实的,共享出来与大家分享,少一个上传其它文件的,如RAR的,有添加过这个功能的朋友也拿出来共享下吧

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值