FCKEditor使用说明

    技术2022-05-11  53

    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介绍

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

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

    下载地址: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 version="1.0" encoding="UTF-8" ?> < web-app  id ="WebApp_ID"  version ="2.4"     xmlns ="http://java.sun.com/xml/ns/j2ee"     xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >      < display-name > FCKeditor </ display-name >      < servlet >          < servlet-name > Connector </ servlet-name >          < servlet-class >             com.fredck.FCKeditor.connector.ConnectorServlet         </ servlet-class >          < init-param >              < param-name > baseDir </ param-name >              <!--  此为文件浏览路径  -->              < param-value > /UserFiles/ </ param-value >          </ init-param >          < init-param >              < param-name > debug </ param-name >              < param-value > true </ param-value >          </ init-param >          < load-on-startup > 1 </ 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 > /UserFiles/ </ 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 > false </ 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 > 1 </ load-on-startup >      </ servlet >      < servlet-mapping >          < servlet-name > Connector </ servlet-name >          < url-pattern >             /editor/filemanager/browser/default/connectors/jsp/connector         </ url-pattern >      </ servlet-mapping >      < servlet-mapping >          < servlet-name > SimpleUploader </ servlet-name >          < url-pattern >             /editor/filemanager/upload/simpleuploader         </ url-pattern >      </ servlet-mapping > </ web-app >

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

    新建input.jsp文件,内容如下:(注意内容中的” testfck”这个id) <% @ page contentType="text/html;charset=UTF-8" language="java" %> <% @ taglib uri="/WEB-INF/FCKeditor.tld" prefix="fck" %> < html > < head > < title > Test </ title > </ head > < script  type ="text/javascript"  src ="fckeditor.js" ></ script > < script  type ="text/javascript" > window.onload = function() var oFCKeditor = new FCKeditor("testfck"); <!—注意这里 --> oFCKeditor.BasePath = ""; oFCKeditor.ToolbarSet = "Basic"; oFCKeditor.ReplaceTextarea("testfck");} </ script > < body > < FORM  action ="display.jsp" > < textarea  rows ="20"  cols ="20"     id ="testfck"  name ="testfck" ></ textarea >   < br >   <! —注意这里 -- > < hr > < input  type ="submit"  value ="提交" ></ FORM > </ body > </ html >

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

    (1)    JavaScript集成:

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

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

    (2)  使用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 编辑器: < fck:editor      id ="testfck"  <!—注意这里 -- >     basePath="/FCKeditor/"     height="60%"    skinPath="/FCKeditor/editor/skins/default/"     toolbarSet="Default"    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 >

    (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 是否不把&符号转换为XML 实体

    FormatIndentator=""当在源码格式下缩进代码使用的字符

    FormatOutput=true/false 当输出内容时是否自动格式化代码

    FormatSource=true/false 在切换到代码视图时是否自动格式化代码

    FullPage=true/false 是否允许编辑整个HTML 文件,还是仅允许编辑BODY 间的内容

    GeckoUseSPAN=true/false 是否允许SPAN 标记代替B,I,U 标记

    IeSpellDownloadUrl=""下载拼写检查器的网址

    ImageBrowser=true/false 是否允许浏览服务器功能

    ImageBrowserURL=""浏览服务器时运行的URL

    ImageBrowserWindowHeight=""图像浏览器窗口高度

    ImageBrowserWindowWidth=""图像浏览器窗口宽度

    LinkBrowser=true/false 是否允许在插入链接时浏览服务器

    LinkBrowserURL=""插入链接时浏览服务器的URL

    LinkBrowserWindowHeight=""链接目标浏览器窗口高度

    LinkBrowserWindowWidth=""链接目标浏览器窗口宽度

    Plugins=object 注册插件

    PluginsPath=""插件文件夹

    ShowBorders=true/false 合并边框

    SkinPath=""皮肤文件夹位置

    SmileyColumns=12 图符窗列数

    SmileyImages=字符数组图符窗中图片文件名数组

    SmileyPath=""图符文件夹路径

    SmileyWindowHeight 图符窗口高度

    SmileyWindowWidth 图符窗口宽度

    SpellChecker="ieSpell/Spellerpages"设置拼写检查器

    StartupFocus=true/false 开启时FOCUS 到编辑器

    StylesXmlPath=""设置定义CSS 样式列表的XML 文件的位置

    TabSpaces=4TAB 键产生的空格字符数

    ToolBarCanCollapse=true/false 是否允许展开/折叠工具栏

    ToolbarSets=object 允许使用TOOLBAR 集合

    ToolbarStartExpanded=true/false 开启是TOOLBAR 是否展开

    UseBROnCarriageReturn=true/false 当回车时是产生BR 标记还是P 或者DIV 标记__

    6.自定义样式列表

    FCKEDITOR 的样式工具栏中提供了预定义的样式,样式是通过XML 文件定义的,默认的

    XML 样式文件存在于FCkEditor 根文件夹下的FckStyls.xml 文件中

    这个XML 文件的结构分析如下:

    <? xml version="1.0" encoding="utf8" ?> < Styles >      < Style  name ="MyImage"  element ="img" >          < Attribute  name =" style "  value ="padding:5px"   />          < Attribute  name =" border "  value ="2"   />      </ Style >      < Style  name =" Italic "  element ="em"   />      < Style  name =" Title "  element ="span" >          < Attribute  name =" class "  value ="Title"   />      </ Style >      < Style  name =" TitleH3 "  element ="h3"   /> </ Styles >

    每一个STYLE 标记定义一种样式,NAME 是显示在下拉列表中的样式名,ELEMENT 属性指

    定此样式所适用的对象,因为FCKEDITOR 中的样式是上下文敏感的,也就是说,选择不同的

    对象,仅会显示针对这类对象定义的样式


    最新回复(0)