当我们部署含有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的完美整合。有问题的话直接再和我联系吧。