下面简单介绍两者的配置整合使用,有不对的地方请指出。
一,下载CKEditor,CKFinder。
去官网下载CKEditor:http://ckeditor.com/download
去官网下载CKFinder:http://cksource.com/ckfinder
CKFinder一般选择php就行,若是java web开发,选择CKFinderJava。
这里选择的是CKFinderJava,因为要做java web开发,配合struts来实现文件的上传。
下载来的CKFinderJava里有个war包,把它解压出来,可以看到它似一个web应用目录。里面包含ckfinder.
二,导入CKEditor,CKFinder。
把下载到的CKEditor,CKFinder复制到web应用根目录中。
把ckfinder中的config.js文件复制至WEB-INF目录中
把ckfinder中lib包下面的jar包拷贝到web目录的lib中
在web.xml中加入下面内容:
三,在jsp页面中使用。
引入相关js文件,定义textarea并使用ckeditor替换
配置文件上传的目录路径
不设置则是使用相对路径,默认上传到 服务器的userfiles中。
另外如果是SSH开发,注意struts.ml文件的配置
struts过滤器如配置成拦截所有的请求,/* 则文件将上传失败。此外在struts.xml文件中也要配置一下临时文件上传目录。
附:
FCKeditor获取编辑器中的内容:
FCKeditorAPI.GetInstance("编辑器id").GetXHTML();(包含编辑器中的HTML标签)
FCKeditorAPI.GetInstance("编辑器id").EditorDocument.body.innerText;(纯文本内容,不包括HTML代码)。
但经过实践,第二条获取不到编辑器的内容,使用以下语句获取:
FCKeditorAPI.GetInstance("content").EditorDocument.body.innerHTML;(带HTML标签);
FCKeditorAPI.GetInstance("content").EditorDocument.body.textContent;(不带HTML标签)。
CKeditor获取编辑器中的内容:
var content= CKEDITOR.instances.(编辑器id).document.getBody().getText(); //取得纯文本
var content= CKEDITOR.instances.["编辑器id"].getData();//取得带HTML文本
js判断content(纯文本)是否为空,
if(content ==""||content==null){
alert("内容不能为空!");}