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 在线 DEMO http://www.fckeditor.net/demo

FCKeditor 下载直址: http://www.fckeditor.net/download (该 版本为 <st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.2 </st1:chsdate>),最新版已经是2.4了。

 

2.FCKeditor.java 介绍 <o:p></o:p>

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

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

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

<o:p> </o:p>

3. JAVA 项目中使用 FCKeditor 在线编辑器 <o:p></o:p>

       开发环境: JDK5.0 <!-- --> Eclipse<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">3.2.1</st1:chsdate> + WTP1.5.2

(1)新建一个 WEB 工程:

 


(2) 解压 FCKeditor_<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.2</st1:chsdate>.zip 包,将其中的 edit 文件夹到项目中的 WebRoot 目录 <o:p></o:p>

(3) 解压 FCKeditor_<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.2</st1:chsdate>.zip 包,将其中的 fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 文件夹到项目中的 WebRoot 目录 <o:p></o:p>

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

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

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

完成后的目录结构下如:

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

      UserFiles是FCKeditor上传文件的文件夹。<o:p></o:p>

  • 修改WebContent/WEB-INF/web.xml文件,加入FCKeditor的配置信息,如下:<o:p></o:p>
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中已经加入了一些常用配置的说明。<o:p></o:p>

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



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

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

(1) <!-- -->JavaScript 集成:

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

注:注意上面的 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 目录 ) <o:p></o:p>

首先在 JSP 中加入 FCKeditor 标签: <o:p></o:p>

<%@ 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 在线编辑器传递过来的内容,如下: <o:p></o:p>

<%= request.getParameter( "testfck" ) %> <o:p></o:p>

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

4. FCKeditor 类说明 <o:p></o:p>

下面是用来在页面中建立编辑器的FCKEDITOR 类的说明<o:p></o:p>

(1) 构造器:<o:p></o:p>

FCKeditor(instanceName[,width,height,toolbarSet,value])<o:p></o:p>


  • instanceName: 编辑器的唯一名称( 相当于ID)<o:p></o:p>

  • WIDTH: 宽度<o:p></o:p>

  • HEIGHT: 高度<o:p></o:p>

  • toolbarSet: 工具条集合的名称<o:p></o:p>

  • value: 编辑器初始化内容<o:p></o:p>


(2) 属性:<o:p></o:p>

  • instanceName: 编辑器实例名<o:p></o:p>

  • width: 宽度, 默认值为100%<o:p></o:p>

  • height: 高度, 默认值是200<o:p></o:p>

  • ToolbarSet: 工具集名称, 参考FCKCONFIG.JS, 默认值是Default<o:p></o:p>

  • value: 初始化编辑器的HTML 代码, 默认值为空<o:p></o:p>

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

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

  • DisplayErrors: 是否显示提示错误, 默为true ; <o:p></o:p>

(3) 集合:<o:p></o:p>

Config[Key]=value ; <o:p></o:p>

这个集合用于更改配置中某一项的值,<o:p></o:p>

oFckeditor.Config["DefaultLanguage"]="ptbr" ; <o:p></o:p>

(4) 方法:<o:p></o:p>

Create()<o:p></o:p>

建立并输出编辑器<o:p></o:p>

RepaceTextArea(TextAreaName)<o:p></o:p>

用编辑器来替换对应的文本框<o:p></o:p>

5. 如何配置FCKEDITOR<o:p></o:p>

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

varoFCKeditor=newFCKeditor('FCKeditor1') ; <o:p></o:p>

oFCKeditor.Config['CustomConfigurationsPath']='/myconfig.js' ; <o:p></o:p>

oFCKeditor.Create() ; <o:p></o:p>

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

配置选项:<o:p></o:p>

AutoDetectLanguage=true/false 自动检测语言<o:p></o:p>

BaseHref="" 相对链接的基地址<o:p></o:p>

ContentLangDirection="ltr/rtl" 默认文字方向<o:p></o:p>

ContextMenu= 字符串数组, 右键菜单的内容<o:p></o:p>

CustomConfigurationsPath="" 自定义配置文件路径和名称<o:p></o:p>

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

DefaultLanguage="" 缺省语言<o:p></o:p>

EditorAreaCss="" 编辑区的样式表文件<o:p></o:p>

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

EnableXHTML=true/false 是否允许使用XHTML 取代HTML<o:p></o:p>

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

FontColors="" 设置显示颜色拾取器时文字颜色列表<o:p></o:p>

FontFormats="" 设置显示在文字格式列表中的命名<o:p></o:p>

FontNames="" 字体列表中的字体名<o:p></o:p>

FontSizes="" 字体大小中的字号列表<o:p></o:p>

ForcePasteAsPlainText=true/false 强制粘贴为纯文本<o:p></o:p>

ForceSimpleAmpersand=true/false

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