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 (該版本爲<?XML:NAMESPACE PREFIX = ST1 />2.3.2),最新版已經是2.4了。
2.FCKeditor.java介紹 <?XML:NAMESPACE PREFIX = O />
FCKeditor不能直接在JSP項目中使用,需要FCKeditor.java庫的支持。
FCKeditor.java是針對對JAVA中使用FCKeditor由Simone Chiaretta開發的FCKeditor的JAVA實現。
FCKeditor.java下載地址: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>FCKeditordisplay-name>
- <servlet>
- <servlet-name>Connectorservlet-name>
- <servlet-class>
- com.fredck.FCKeditor.connector.ConnectorServlet
- servlet-class>
- <init-param>
- <param-name>baseDirparam-name>
- <param-value>/UserFiles/param-value>
- init-param>
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet>
- <servlet-name>SimpleUploaderservlet-name>
- <servlet-class>
- com.fredck.FCKeditor.uploader.SimpleUploaderServlet
- servlet-class>
- <init-param>
- <param-name>baseDirparam-name>
- <param-value>/UserFiles/param-value>
- init-param>
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
- <init-param>
- <param-name>enabledparam-name>
- <param-value>falseparam-value>
- init-param>
- <init-param>
- <param-name>AllowedExtensionsFileparam-name>
- <param-value>param-value>
- init-param>
- <init-param>
- <param-name>DeniedExtensionsFileparam-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>AllowedExtensionsImageparam-name>
- <param-value>jpg|gif|jpeg|png|bmpparam-value>
- init-param>
- <init-param>
- <param-name>DeniedExtensionsImageparam-name>
- <param-value>param-value>
- init-param>
- <init-param>
- <param-name>AllowedExtensionsFlashparam-name>
- <param-value>swf|flaparam-value>
- init-param>
- <init-param>
- <param-name>DeniedExtensionsFlashparam-name>
- <param-value>param-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>Connectorservlet-name>
- <url-pattern>
- /editor/filemanager/browser/default/connectors/jsp/connector
- url-pattern>
- servlet-mapping>
- <servlet-mapping>
- <servlet-name>SimpleUploaderservlet-name>
- <url-pattern>
- /editor/filemanager/upload/simpleuploader
- url-pattern>
- servlet-mapping>
- web-app>
注:web.xml中已經加入了一些常用配置的說明。
- 新建input.jsp文件,內容如下:(注意內容中的” testfck”這個id)
(上面不能直接帖HTML的代碼,所以只能帖一個圖片上來,要是有知道如何帖HTML代碼的朋友,請告訴我一下,謝謝)
說明:在JSP中集成FCKeditor有以下幾種方式:
(1) <!--[endif]-->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) <!--[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編輯器:- 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">
(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
from:http://www.javaeye.com/topic/54509