FCKeditor編輯器在JAVA中的使用與配置

工作前的準備 
版本是FCKeditor_2.4.2.zip【組件的主文件包】,FCKeditor.Java 2.3.zip【這裏面提供了標籤庫和圖片上傳的jar】。這些都可以在http://www.fckeditor.net 網站下載到! 

配置 

1. 新建工程FCKeditor,在WebRoot文件夾下新建文件夾FCKeditor(用來存放FCKeditor相關文件, 

記得大小寫要一致,因爲如果你需要改變的話變化的文件比較多,而且還不確定是否改全了) 

2. 將FCKeditor_2.4.2包中的 editor 文件夾和fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 

這四個文件放到項目中的 FCKeditor 目錄。 

3. 將FCKeditor.Java -2.3.zip 包中的 /web/WEB-INF/lib 下的兩個 jar 文件到項目的 WebRoot/WEB-INF/lib目錄下 

4. 將FCKeditor.Java -2.3.zip 包中的 /src 下的 FCKeditor.tld 文件到項目的 WebRoot/WEB-INF 目錄 

5. 在 WebRoot 目錄下新建 UserFiles 文件夾,在此文件夾下新建 Image、 Flash 、File、Media四個文件夾 ,他們分別用來存放上傳的圖片、動畫、文件、媒體文件 

6. 修改fckconfig.js組件配置文件【說明一下,你可以在配置文件裏搜索等號前面的信息來確定某一項做更改】: 

A、FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/' ; 

這是組件的樣式模板,好確定你到底需要使用哪中樣式,這個根據你自己的喜好更改, 

B、FCKConfig.DefaultLanguage = 'zh-cn' ; 

這個是確定你需要使用哪中語言,設定成上面的表示使用簡體中文; 

C、更改文件瀏覽的路徑: 

FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;
把相應的信息屏蔽掉,使用上面的

D、更改上傳文件的路徑 

FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;
把相應的信息屏蔽掉,使用上面的

7. 修改 web.xml 文件,加入以下內容 :

在FCKeditor.Java -2.3.zip 包中有個web/WEB-INF/WEB.XML,把這個節點裏面的內容複製到你的工程裏面的相應的位置,值得說明的地方是:

<servlet-name>Connector</servlet-name>
    <servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
    <init-param>
     <param-name>baseDir</param-name>
<!-- 此爲文件瀏覽路徑,可以只有選擇修改,但切記不可改成“/[工程名]/UserFiles/”
因爲他目前已經是在工程的根目錄下來運行的,故如果要把默認瀏覽的文件目錄爲
webroot/upload目錄,之需要改變成:/upload/,即可 -->
     <param-value>/UserFiles/</param-value>
    </init-param>
    <init-param>
<servlet-name>SimpleUploader</servlet-name>
    <servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>
    <init-param>
     <param-name>baseDir</param-name>
<!-- 此爲文件上傳路徑,可以只有選擇修改,但切記不可改成“/[工程名]/UserFiles/”
因爲他目前已經是在工程的根目錄下來運行的,故如果要把上傳的文件放到webroot/upload目錄下,
之需要改變成:/rpload/,即可 -->
     <param-value>/UserFiles/</param-value>
    </init-param>
    <init-param>
     <param-name>debug</param-name>
     <param-value>true</param-value>
    </init-param>
    <init-param>
<!-- 記得要改變這裏,把FALSE改變成TRUE,這個是是否啓用上傳功能 -->
     <param-name>enabled</param-name>
     <param-value>true</param-value>
    </init-param>
      <servlet-mapping>
      <servlet-name>Connector</servlet-name>
      <url-pattern>
       /FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector
      </url-pattern>
    </servlet-mapping>
<!-- 別忘記上面和下面加粗部分的代碼-->
 
    <servlet-mapping>
      <servlet-name>SimpleUploader</servlet-name>
      <url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern>
    </servlet-mapping>
優化

以上都是把組件嵌入進工程的 配置過程,下面我們來把組件壓縮優化一下,把無用的文件給剔除掉:

刪除 /WebRoot/FCKeditor/editor/filemanager/browser/default/connectors 目錄下所有的文件,這些是用來瀏覽文件的,對於jsp的話是使用了 servlet 來處理,所以這些文件都是多餘的

刪除 /WebRoot/FCKeditor/editor/filemanager/upload 目錄下所有的文件

刪除 WebRoot/FCKeditor/editor/lang 目錄下不需要的語言,如保留中文【zh-cn.js】和英文[EN.js]還有 fcklanguagemanager.js 文件

刪除 /WebRoot/FCKeditor/editor/skins 目錄下不需要的皮膚文件,有三種皮膚,可根據需要進行刪除 

測試頁面:

<%@ page language="java" import="com.fredck.FCKeditor.*" %>
<!--
 * FCKeditor - The text editor for internet
 * Copyright (C) 2003-2005 Frederico Caldeira Knabben
 * 
 * Licensed under the terms of the GNU Lesser General Public License:
 *         http://www.opensource.org/licenses/lgpl-license.php
 * 
 * For further information visit:
 *         http://www.fckeditor.net/
 * 
 * File Name: sample01.jsp
 *     FCKeditor sample file 1.
 * 
 * Version:  2.1
 * Modified: 2005-03-29 21:30:00
 * 
 * File Authors:
 *         Simone Chiaretta ([email protected])
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    
<head>
        
<title>FCKeditor - JSP Sample</title>
        
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        
<meta name="robots" content="noindex, nofollow">
        
<link href="../sample.css" rel="stylesheet" type="text/css" />
        
<script type="text/javascript">

function FCKeditor_OnComplete( editorInstance )
{
    window.status 
= editorInstance.Description ;
}


        
</script>
    
</head>
    
<body>
        
<h1>FCKeditor - JSP - Sample 1</h1>
        This sample displays a normal HTML form with an FCKeditor with full features 
        enabled.
        
<hr>
        
<form action="sampleposteddata.jsp" method="get" target="_blank">
<%
FCKeditor oFCKeditor ;
oFCKeditor 
= new FCKeditor( request, "filename" ) ;
oFCKeditor.setBasePath( 
"/FCKeditor/FCKeditor/" ) ;
oFCKeditor.setHeight(
"80%");
oFCKeditor.setWidth(
"80%");
oFCKeditor.setValue( 
"" );
out.println( oFCKeditor.create() ) ;
%>
            
<br>
            
<input type="submit" value="Submit">
        
</form>
    
</body>
</html>

其它

1、fckconfig.js總配置文件,可用記錄本打開,修改後將文件存爲utf-8 編碼格式。找到: 

FCKConfig.TabSpaces = 0 ; 改爲FCKConfig.TabSpaces = 1 ; 即在編輯器域內可以使用Tab鍵。 

2、如果你的編輯器還用在網站前臺的話,比如說用於留言本或是日記回覆時,那就不得不考慮安全 

了,在前臺千萬不要使用Default的toolbar,要麼自定義一下功能,要麼就用系統已經定義好的Basic,也就是基本的toolbar,找到: 

FCKConfig.ToolbarSets["Basic"] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview'] ] ;
這是改過的Basic,把圖像功能去掉,把添加鏈接功能去掉,因爲圖像和鏈接和flash和圖像按鈕添加功能都能讓前臺頁直接訪問和上傳文件, fckeditor還支持編輯域內的鼠標右鍵功能。 

FCKConfig.ContextMenu = [ 

'Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox',
'Radio','TextField','HiddenField',/*'ImageButton',*/'Button','BulletedList', 

'NumberedList','TableCell','Table','Form'] ; 

這也是改過的把鼠標右鍵的“鏈接、圖像,FLASH,圖像按鈕”功能都去掉。 

3、找到: FCKConfig.FontNames = 

'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 

加上幾種我們常用的字體 : 

FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS; 

Courier New;Tahoma;Times New Roman;Verdana' ; 

4、注意上傳的文件名不能有中文,否則無法正常顯示或鏈接下載。

 注意:例子裏面只有例一和例二修改了,其它例子中的basePath="/FCKeditor/FCKeditor/"應該做相應的修改。

配置好的工程在資源裏面下載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章