當我們部署含有Fckeditor編輯器的應用程序時,相信大家一定都遇到這樣的提示“
Error loading "/fckeditor/fckstyles.xml" Do you want to see more info?
”
原因就是weblogic沒有加載這個xml文件,而是以文本(text)形式展示出來了,這樣的問題在tomcat下是不會出現的。
網
上也提供了幾種解決辦法,包括修改fckeditor"editor"js下fckeditorcode_ie.js文件,以及通過虛擬地址解決
fckeditor錯誤的加載/fckeditor/fckstyles.xml,但是這兩種方法我都試過,效果不是很好(說實話是根本沒有解決問題)。
挖空心思在網上找尋其他的解決方法。
其實我們靜下心來想想出現問題的原因就可以知道解決方案,weblogic不加載xml類型的文件? 那么我們在配置文件中顯示的申明一下不就可以了嗎?哈哈。
所以解決方案出來了,我們在web.xml文件中加入如下代碼:
<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
ok了,就是這么簡單,還容易讓大家理解,重啟下服務器,運行下頁面看看,是不是問題解決了。
別著急,問題還有,里面有上傳圖片和文件的功能,你自己上傳下看看,如果是中文的是不是會出現亂碼。
好了,接下來的內容就主要講解決亂碼的問題吧。
我
們把應用程序中web-inf下lib文件夾里的FCKeditor-2.3.jar刪除掉,在你下載的FCKeditor-java里有一個src文
件,這里的文件其實就是FCKeditor-2.3.jar的源文件,我們通過修改ConnectorServlet.java文件和
SimpleUploaderServlet.java這兩個文件就可以了。
1、在ConnectorServlet.java里找到else if (commandStr.equals("CreateFolder"))這一塊,修改如下
else if (commandStr.equals("CreateFolder")) {
request.setCharacterEncoding("UTF-8"); //也就是添加這一句。
2、在SimpleUploaderServlet.java里找到if(enabled) { 這一塊,修改如下
if(enabled) {
DiskFileUpload upload = new DiskFileUpload();
upload.setHeaderEncoding("UTF-8"); //也就是添加這一句。
3、編譯一下,然后把生成的class文件放在web-inf下的classes下就可以了,或者你也可以打包成jar文件放到web-inf下的lib里就可以了。
4、到此為止,中文亂碼問題就解決了。
這篇文章+先前我寫的關于fckeditor的文章,就是java和fckeditor的完美整合。有問題的話直接再和我聯系吧。