FCKeditor 2.6.4 在java中使用

   1.FCKeditor 介紹
FCKeditor 這個開源的HTML 文本編輯器可以讓web 程序擁有如MS Word 這樣強大的編輯功能,.FCKeditor 支持當前流行的瀏覽器。

2.準備工作:

環境:winddows XP、tomcat6.0、JDK1.6
下載:
1):FCKeditor_2.6.4.zip
地址:http://nchc.dl.sourceforge.net/sourc...itor_2.6.4.zip

2):fckeditor-java-2.4.1-bin.zip (JAVA支持包)地址http://nchc.dl.sourceforge.net/sourc...-2.4.1-bin.zip

3)slf4j-1.5.6.zip 地址 :http://slf4j.org/dist/slf4j-1.5.6.zip

3.安裝:

下面以jsp爲例:

分別解壓之後,我們可以得到一個fckeditor和fckeditor-java-2.4.1兩個文件夾。fckeditor文件夾下是需要調用的頁面和js文件等等,有各種版本,無所謂啦,我們之需要jsp就夠了。將文件加全部複製到工程目錄下等待調用即可。
注意:有點麻煩的是導包的問題。我們一共需要5個包:commons-fileupload-1.2.1.jar,commons-io- 1.3.2.jar,fckeditor-java-core-2.4.1.jar,slf4j-api-1.5.6.jar,slf4j- simple-1.5.6.jar或slf4j-jdk14-1.5.6.jar。
上面前四個包都可以在fckeditor-java-2.4.1文件夾下面找到,但是第五個卻要另外去找,這點我非常不理解,爲什麼不放在一起。
如果沒有的話編譯時就會出現如下錯誤信息:
嚴重: Servlet /fckeditorDemo threw load() exception
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder



當然版本或許不同,以上的版本是截止2009-02-4的最新版本。如果想要最新版本,可以在slf4j的官網 http://www.slf4j.org/download.html)下到。但是要注意,截止到2009-2-4,slf4j官方最新版本是 1.5.6,但是fckeditor提供的slf4j-api卻是1.5.2版本,如果兩個版本不一樣的話,你將會在控制檯看到如下的消息:

嚴重: Servlet /Java threw load() exception
java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class

org.slf4j.LoggerFactory



所以千萬要注意版本一致問題,上面已經用紅色醒目標出了。如果你實在覺得下載很麻煩,那就到這裏下載吧:

這是我做了一個例子。

4.配置

1)在共程目錄src/下新建一個文件fckeditor.properties,添加內容:connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl 保存即可。
2)修改web.xml,用來提供上傳功能支持,

  • # <servlet>
    # <servlet-name>Connector</servlet-name>
    # <servlet-class>
    # net.fckeditor.connector.ConnectorServlet
    # </servlet-class>
    # <load-on-startup>1</load-on-startup>
    # </servlet>
    # <servlet-mapping>
    # <servlet-name>Connector</servlet-name>
    # <url-pattern>
    # /fckeditor/editor/filemanager/connectors/*
    # </url-pattern>
    # </servlet-mapping>

     5.應用


在工程目錄WebRoot下新建index.jsp,result.jsp兩個文件,
index.jsp: 
 

result.jsp

 

 在IE地址中輸入:http://localhost:8080/FCKtest OK,成功了!

6.不足之處

世界上沒有絕對完美的女子(不知道你是否發現了完美的女孩,錯了不要打我),FCK也一樣。
1) 在文本框中輸入中文提交後得到的中文亂碼。
解決辦法:
Result.JSP中來轉碼:
new String(request.getParameter(“content”).getByte(iso-8859-1),”UTF-8”)
試驗下,嘿嘿,”漢化”成功!
2) 上傳中文名圖片後保存的中文圖片名亂碼
解決辦法:下載www.pjwqh.cn.jar包,替換以前下載的fckeditor-java-core-2.4.jar包,
OK,上傳中文圖片名顯示正常了,
3) 點擊瀏覽服務器後,選擇剛上傳的中文圖片,圖片在預覽窗口中不能顯示
解決辦法:
修改TOMCAT安裝目錄config下的server.xml文件,在<Connector/>標籤內加上 URIEncoding="UTF-8"。
OK,中文圖片正常顯示。
4) 關與FLASH的上傳
A.上傳中文文件名FLASH時,有時候彈出沒有權限,或者是文件類型錯誤,有時候上傳正常。
B.上傳英文或者數字名FLASH時,窗口一直處與等待狀態,過一會兒關閉窗口,再通過瀏覽服務器按鈕可以看到FLASH已經成功上傳。
C.有時候如過上傳成功了,預覽窗口也不能播放。
D.有時候無論使用什麼語言的文件名都可以上傳成功。
但只要你是使用的英文或則數字文件名,就能100%上傳。
所以關於這個問題估計還是編碼引起的。
5)。FCKeditor2.6.2上傳文件功能與Struts 2 不兼容的問題。
解決辦法:
讓Struts2僅處理*.action的請求。修改配置文件web.xml:
將Struts2處理所有web請求的過濾器配置
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
改爲:僅處理.action或.jsp請求
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
備註:以上配置文件的更改會造成Struts2 標籤在頁面中不顯示
應該在web.xml文件中加入以下配置:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>

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