(一)?準(zhǔn)備工作
1、下載FCKeditor2.1.1最新版本;
2、下載FCKeditor2.3,java版本;
3、Tomcat或者weblogic作為服務(wù)器(都測(cè)試過(guò))
(二)新建web工程??FCKeditor
1、解壓上述FCKeditor2.3?for?java,并copy?src和web兩個(gè)文件夾到web工程??FCKeditor下,覆蓋
src和web;并將_samples下的jsp?文件copy到web目錄下
2、解壓FCKeditor2.1.1?,并copy到web工程的web文件夾中,將一些不需要的文件夾,比如_samples和_testcases以及editor\_source?刪除,節(jié)約空間,另外如果僅僅使用JSP環(huán)境的話,也可以將其他環(huán)境下的配置信息或者測(cè)試用例刪除。
3、在你的工程的web目錄下創(chuàng)建UserFile目錄,以及Image、Flash、File三個(gè)子目錄。
您的工程目錄如下所示:

(三)、修改相關(guān)配置
現(xiàn)在開(kāi)始修改代碼咯,從\FCKeditor\fckconfig.js以及\FCKeditor\fckeditor.js開(kāi)始。
fckconfig.js
FCKConfig.LinkBrowser?=?true?;
FCKConfig.LinkBrowserURL?=?FCKConfig.BasePath?+?'filemanager/browser/default/browser.html?Connector=connectors/jsp/connector'?;
FCKConfig.LinkBrowserWindowWidth?=?FCKConfig.ScreenWidth?*?0.7?;?//?70%
FCKConfig.LinkBrowserWindowHeight?=?FCKConfig.ScreenHeight?*?0.7?;//?70%
FCKConfig.ImageBrowser?=?true?;
FCKConfig.ImageBrowserURL?=?FCKConfig.BasePath?+?'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector'?;
FCKConfig.ImageBrowserWindowWidth??=?FCKConfig.ScreenWidth?*?0.7?;?//?70%?;
FCKConfig.ImageBrowserWindowHeight?=?FCKConfig.ScreenHeight?*?0.7?;?//?70%?;
FCKConfig.FlashBrowser?=?true?;
FCKConfig.FlashBrowserURL?=?FCKConfig.BasePath?+?'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector'?;
FCKConfig.FlashBrowserWindowWidth??=?FCKConfig.ScreenWidth?*?0.7?;?//70%?;
FCKConfig.FlashBrowserWindowHeight?=?FCKConfig.ScreenHeight?*?0.7?;?//70%?;
FCKConfig.LinkUpload?=?true?;
FCKConfig.LinkUploadURL?=?FCKConfig.BasePath?+?'/editor/filemanager/upload/simpleuploader?Type=File';
FCKConfig.LinkUploadAllowedExtensions?=?""?;???//?empty?for?all
FCKConfig.LinkUploadDeniedExtensions?=?".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$"?;?//?empty?for?no?one
FCKConfig.ImageUpload?=?true?;
FCKConfig.ImageUploadURL?=?FCKConfig.BasePath?+?'/editor/filemanager/upload/simpleuploader?Type=Image';
FCKConfig.ImageUploadAllowedExtensions?=?".(jpg|gif|jpeg|png)$"?;??//?empty?for?all
FCKConfig.ImageUploadDeniedExtensions?=?""?;???????//?empty?for?no?one
FCKConfig.FlashUpload?=?true?;
FCKConfig.FlashUploadURL?=?FCKConfig.BasePath?+?'/editor/filemanager/upload/simpleuploader?Type=Flash';
FCKConfig.FlashUploadAllowedExtensions?=?".(swf|fla)$"?;??//?empty?for?all
FCKConfig.FlashUploadDeniedExtensions?=?""?;?????//?empty?for?no?one
主要是上述URL配置。另外修改fckeditor.js:
var?FCKeditor?=?function(?instanceName,?width,?height,?toolbarSet,?value?)
{
?//?Properties
?this.InstanceName?=?instanceName?;
?this.Width???=?width???||?'100%'?;
?this.Height???=?height??||?'400'?;
?this.ToolbarSet??=?toolbarSet?||?'Custom'?;//Custom是自定義的工具欄,根據(jù)需要自由更改
?this.Value???=?value???||?'???'?;
?this.BasePath??=?'/FCKeditor/editor/'?;//取自己工程的相對(duì)路徑
?this.CheckBrowser?=?true?;
?this.DisplayErrors?=?true?;
?this.EnableSafari?=?false?;??//?This?is?a?temporary?property,?while?Safari?support?is?under?development.
?this.Config???=?new?Object()?;
?//?Events
?this.OnError??=?null?;?//?function(?source,?errorNumber,?errorDescription?)錯(cuò)誤處理函數(shù)
}
3、找到\FCKeditor\editor\dialog\fck_image\fck_image.js和\FCKeditor\editor\dialog\fck_flash\fck_flash.js中下述片斷
if?(?oEditor.FCKBrowserInfo.IsIE?){
????//?The?following?change?has?been?made?otherwise?IE?will?open?the?file?
????//?browser?on?a?different?server?session?(on?some?cases):
????//?http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
????//?by?Simone?Chiaretta.
????var?oWindow?=?oEditor.window.open(?url,?"FCKBrowseWindow",?sOptions?)?;
????oWindow.opener?=?window?;
}else{
?????????window.open(?url,?"FCKBrowseWindow",?sOptions?)?;
}
修改為:
if?(?oEditor.FCKBrowserInfo.IsIE?){
????//?The?following?change?has?been?made?otherwise?IE?will?open?the?file?
????//?browser?on?a?different?server?session?(on?some?cases):
????//?http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
????//?by?Simone?Chiaretta.
?????????????window.open(?url,?"FCKBrowseWindow",?sOptions?)?;
???}else{
??????????var?oWindow?=?oEditor.window.open(?url,?"FCKBrowseWindow",?sOptions?)?;
????????oWindow.opener?=?window?;
}
??
這樣在IE在瀏覽服務(wù)器的文件,才可以選擇,否則邏輯相反的話,打開(kāi)的服務(wù)器文件瀏覽頁(yè)面在對(duì)話框下面,無(wú)法選擇文件或圖片等。
4、配置JSP所需的標(biāo)簽庫(kù)
將FCKeditor.tld??copy到/WEB-INF/下,并修改web.xml文件,結(jié)果如下所示:
?<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>false</param-value>
????????</init-param>
????????<load-on-startup>2</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>
????????????<param-value>/UserFiles/</param-value>
????????</init-param>
????????<init-param>
????????????<param-name>debug</param-name>
????????????<param-value>false</param-value>
????????</init-param>
????????<init-param>
????????????<param-name>enabled</param-name>
????????????<param-value>true</param-value>
????????</init-param>
????????<init-param>
????????????<param-name>AllowedExtensionsFile</param-name>
????????????<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|htm|html</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/>
????????</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/>
????????</init-param>
????????<load-on-startup>1</load-on-startup>
????</servlet>
此外可以根據(jù)需要修改\src\com\fredck\FCKeditor\tags\FCKeditorTag.java以及\src\com\fredck\FCKeditor\FCKeditor.java文件
自定義默認(rèn)的配置信息。
public?class?FCKeditor?{
?
?private?FCKeditorConfigurations?oConfig;
?private?String?instanceName;
?private?String?value?=?"??";//這樣標(biāo)簽體可以置空
?private?String?basePath;
?private?String?toolbarSet?=?"Custom";//默認(rèn)為自定義
?private?String?width?=?"100%";
?private?String?height?=?"300";//默認(rèn)為300px
?
?HttpServletRequest?request;
……
?public?FCKeditor(HttpServletRequest?req,?String?parInstanceName){
??request=req;
/**
??*這里?/FCKeditor/?必須和工程web目錄下的FCKeditor目錄同名,大小寫(xiě)敏感
?*/?
??basePath?=?request.getContextPath()?+?"/FCKeditor/";
??instanceName=parInstanceName;
??oConfig?=?new?FCKeditorConfigurations()?;
?}
此時(shí),可以在JSP中使用如下標(biāo)簽咯(參見(jiàn)sample2.jsp)
imageBrowserURL="/web/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"
????linkBrowserURL="/web/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"
????flashBrowserURL="/web/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"
????imageUploadURL="/web/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
????linkUploadURL="/web/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
????flashUploadURL="/web/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
并且可以上傳圖片、flash、文件等等。
將工程部署到tomcat或者weblogic下,可以直接指向工程路徑,散布。關(guān)于如何配置tomcat、weblogic請(qǐng)
參考相關(guān)網(wǎng)站。
打開(kāi)?http://localhost:8080/web/index.jsp(tomcat)??或者?http://localhost:7001/web/index.jsp(weblogic)后可以試用咯!
祝您成功,如果有描述不清楚的地方,請(qǐng)與我聯(lián)系。
以上已經(jīng)測(cè)試成功。