FCKEditor使用说明

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]--> Eclipse3.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的各个属性,最后调用FCKeditor的ReplaceTextarea()替换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 中的样式是上下文敏感的,也就是说,选择不同的
    对象,仅会显示针对这类对象定义的样式

你可能感兴趣的:(Web,jsp,servlet,浏览器,fckeditor)