ckeditor的使用以及配置
2016-12-26 00:00
309 查看
摘要: 本博客主要介绍ckeditor的replace,replaceall,ckeditor实例,javascript使用ckeditor的四种方式,另外,介绍ckeditor的相关配置,以方便自定义使用
将下好的文件,粘贴到我们的tomact服务器下面的webapps文件夹中;
手动启动服务器,这时候,webapps下面就会多出来一个ckeditor的项目,其实就是我们.war文件的解压。
##2.使用ckeditor标签替换页面的指定文本域
既然是使用ckeditor标签,自然,我们就需要导入相关的包。那包文件在哪里找呢?其实,上面我们不是说过,服务器启动后,会多出来一个ckeditor的项目,我这里是ckeditor-java-3.6.6.2,这就是一个开源项目,我们在里面的WEB-INF->lib找到一个.jar文件,就是我们需要导入的标签库的包,我这里是ckeditor-java-core-3.5.3.jar;
我们在jsp页面中引入标签库,跟我们引入jstl的标签库一样的方式
至于相关参数,例如,prefix等我们怎么知道,填什么的呢?我们将jar文件粘贴到我们项目的WEB-INF->lib中后,就会生成一个Referenced Libraries,在里面找到我们的jar文件,其中在META-INF中会有一个ckeditor.tld的文件,这个里面就有我们所需要的参数;
我们将tomacat->wbeapps中的ediotr项目中的ckeditor文件夹拷贝到我们项目的webroot下面。因为我们替换时需要指定basePath;
我们在jsp页面中写一个textarea,并给它一个id,接着用ckeditor标签去进行替换
其中,replace属性是我们的textarea的id,basePath指我们的ckeditor文件夹的路径
##2.使用ckeditor替换页面所有的文本域
具体的实现方法与上面一样,可能在页面中我们有多个textarea标签,(注意要设置每个标签的id不一样),然后我们利用repaceAll来具体实现
##3.使用ckeditor创建实例
这里我们可能就不再需要textarea标签了,而是直接创建一个ckeditor实例
其中这里的editor属性,类似于,我们创建textarea时指定的name和id,config是我们的配置信息,我们可能需要配置ckeditor。(后面我会写到)
##4.使用javascript直接替换文本域
上面的三种方式,都有一种共同点,就是我们需要使用到java语言。那么我们能不能用一种与服务端无关的语言去进行替换呢?实际上,我们是可以直接利用javascript进行文本域的替换。
在页面加载的时候,我们去执行CKEDITOR.replace("content");在这里我们需要导入ckeditor文件夹下面的ckeditor.js
上面我主要讲了ckeditor使用的4中方式,下面我介绍ckeditor的相关配置
##5.ckeditor常见的几种配置参数。这里只是简单列举。参数有很多
下面是ckeditor常见的几种配置参数
##6.ckeditor配置的两种方式
通过CKEditorConfig对象来进行配置,配置完成之后,要在ckeditor标签中绑定config信息
可以看到,这样其实是很繁琐的,因为我们要以这种键值对的方式去进行设置,而且需要在jsp页面中写入java代码,于是,我们一般可以通过第二种方式。
通过设置config.js来进行配置
我们可以修改config.js来进行ckeditor的相关配置,但是一定要注意引入的问题,我们需要引入这个js文件在第四种使用方式中,前三种不需要是因为,我们使用ckeditor标签的时候,指明的basePath。
##7.ckeditor提交表单
这里与我们普通的提交表单方式一样。
其中,要注意的一点是,一般我们需要将内容存放到数据库中,再从数据库中取出来,这样一来,就很容易出现中文乱码的问题,为了防止这个问题,最好是将,我们的content采用url编码方式存放到数据库中,从数据库中取出来的时候,我们再利用url解码,这样就防止中文乱码问题。即URLEncoder.encode(s, enc)和URLEncoder.decode(s, enc)方法,其中s是我们的content,enc即我们需要设置的编码方式,一般“utf-8”
1.使用ckeditor需要做的准备工作
需要下载ckeditor相关的.war文件(官网下载即可),所谓的.war文件,其实就是我们一般的所说的项目归档文件;将下好的文件,粘贴到我们的tomact服务器下面的webapps文件夹中;
手动启动服务器,这时候,webapps下面就会多出来一个ckeditor的项目,其实就是我们.war文件的解压。
##2.使用ckeditor标签替换页面的指定文本域
既然是使用ckeditor标签,自然,我们就需要导入相关的包。那包文件在哪里找呢?其实,上面我们不是说过,服务器启动后,会多出来一个ckeditor的项目,我这里是ckeditor-java-3.6.6.2,这就是一个开源项目,我们在里面的WEB-INF->lib找到一个.jar文件,就是我们需要导入的标签库的包,我这里是ckeditor-java-core-3.5.3.jar;
我们在jsp页面中引入标签库,跟我们引入jstl的标签库一样的方式
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %>
至于相关参数,例如,prefix等我们怎么知道,填什么的呢?我们将jar文件粘贴到我们项目的WEB-INF->lib中后,就会生成一个Referenced Libraries,在里面找到我们的jar文件,其中在META-INF中会有一个ckeditor.tld的文件,这个里面就有我们所需要的参数;
我们将tomacat->wbeapps中的ediotr项目中的ckeditor文件夹拷贝到我们项目的webroot下面。因为我们替换时需要指定basePath;
我们在jsp页面中写一个textarea,并给它一个id,接着用ckeditor标签去进行替换
<form> <textarea id="content" style=""></textarea> </form> <ckeditor:replace replace="content" basePath="ckeditor"></ckeditor:replace>
其中,replace属性是我们的textarea的id,basePath指我们的ckeditor文件夹的路径
##2.使用ckeditor替换页面所有的文本域
具体的实现方法与上面一样,可能在页面中我们有多个textarea标签,(注意要设置每个标签的id不一样),然后我们利用repaceAll来具体实现
<form> <textarea id="content"></textarea> <textarea id="content2"></textarea> </form> <ckeditor:replaceAll basePath="ckeditor"></ckeditor:replaceAll>
##3.使用ckeditor创建实例
这里我们可能就不再需要textarea标签了,而是直接创建一个ckeditor实例
<form> <ckeditor:editor editor="content" basePath="ckeditor" config="<%=cfg %>"></ckeditor:editor> </form>
其中这里的editor属性,类似于,我们创建textarea时指定的name和id,config是我们的配置信息,我们可能需要配置ckeditor。(后面我会写到)
##4.使用javascript直接替换文本域
上面的三种方式,都有一种共同点,就是我们需要使用到java语言。那么我们能不能用一种与服务端无关的语言去进行替换呢?实际上,我们是可以直接利用javascript进行文本域的替换。
1、在页面<head>中引入ckeditor核心文件ckeditor.js <script type="text/javascript" src="ckeditor/ckeditor.js"></script> 2、在使用编辑器的地方插入HTML控件<textarea> <textarea id="TextArea1" cols="20" rows="2" class="ckeditor"></textarea> 如果是ASP.NET环境,也可用服务器端控件<TextBox> <asp:TextBox ID="tbContent" runat="server" TextMode="MultiLine" class="ckeditor"></asp:TextBox> 注意在控件中加上 class="ckeditor" 。 3、将相应的控件替换成编辑器代码 <script type="text/javascript"> CKEDITOR.replace('TextArea1'); //如果是在ASP.NET环境下用的服务器端控件<TextBox> CKEDITOR.replace('tbContent'); //如果<TextBox>控件在母版页中,要这样写 CKEDITOR.replace('<%=tbContent.ClientID.Replace("_","$") %>'); </script>
<form> <textarea id="content" name="content"></textarea> </form> <script> window.onload = function(){ CKEDITOR.replace("content"); } </script>
在页面加载的时候,我们去执行CKEDITOR.replace("content");在这里我们需要导入ckeditor文件夹下面的ckeditor.js
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
上面我主要讲了ckeditor使用的4中方式,下面我介绍ckeditor的相关配置
##5.ckeditor常见的几种配置参数。这里只是简单列举。参数有很多
下面是ckeditor常见的几种配置参数
ckeditor的配置都集中在 ckeditor/config.js 文件中,下面是一些常用的配置参数: // 界面语言,默认为 'en' config.language = 'zh-cn'; // 设置宽高 config.width = 400; config.height = 400; //编辑器样式,有三种:'kama'(默认)、'office2003'、'v2' config.skin = 'v2'; // 背景颜色 config.uiColor = '#FFF'; // 工具栏(基础'Basic'、全能'Full'、自定义)plugins/toolbar/plugin.js config.toolbar = 'Basic'; config.toolbar = 'Full'; 这将配合: config.toolbar_Full = [ ['Source','-','Save','NewPage','Preview','-','Templates'], ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], '/', ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], ['Link','Unlink','Anchor'], ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'], '/', ['Styles','Format','Font','FontSize'], ['TextColor','BGColor'] ]; //工具栏是否可以被收缩 config.toolbarCanCollapse = true; //工具栏的位置 config.toolbarLocation = 'top';//可选:bottom //工具栏默认是否展开 config.toolbarStartupExpanded = true; // 取消 “拖拽以改变尺寸”功能 plugins/resize/plugin.js config.resize_enabled = false; //改变大小的最大高度 config.resize_maxHeight = 3000; //改变大小的最大宽度 config.resize_maxWidth = 3000; //改变大小的最小高度 config.resize_minHeight = 250; //改变大小的最小宽度 config.resize_minWidth = 750; // 当提交包含有此编辑器的表单时,是否自动更新元素内的数据 config.autoUpdateElement = true; // 设置是使用绝对目录还是相对目录,为空为相对目录 config.baseHref = '' // 编辑器的z-index值 config.baseFloatZIndex = 10000;
##6.ckeditor配置的两种方式
通过CKEditorConfig对象来进行配置,配置完成之后,要在ckeditor标签中绑定config信息
<% CKEditorConfig cfg = new CKEditorConfig(); cfg.addConfigValue("width","600");//设置高度 cfg.addConfigValue("skin","office2003"); //设置主题 //设置禁止拖拽 cfg.addConfigValue("resize_enabled",false); %> <ckeditor:editor editor="content" basePath="ckeditor" config="<%=cfg %>"></ckeditor:editor>
可以看到,这样其实是很繁琐的,因为我们要以这种键值对的方式去进行设置,而且需要在jsp页面中写入java代码,于是,我们一般可以通过第二种方式。
通过设置config.js来进行配置
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; config.width = 700; config.height = 300; config.resize_enabled = false; //自定义工具条 config.toolbar_Full = [ ['Source','-','Save','NewPage','Preview','-','Templates'] ]; };
我们可以修改config.js来进行ckeditor的相关配置,但是一定要注意引入的问题,我们需要引入这个js文件在第四种使用方式中,前三种不需要是因为,我们使用ckeditor标签的时候,指明的basePath。
##7.ckeditor提交表单
这里与我们普通的提交表单方式一样。
<form action="EditorServlet" method="post"> <textarea id="content" name="content"></textarea> <input type="submit" value="提交"/> </form> <ckeditor:replace replace="content" basePath="ckeditor"></ckeditor:replace>
String content = request.getParameter("content"); System.out.println(content); request.setAttribute("content",content); request.getRequestDispatcher("result.jsp").forward(request, response);
<body> ${content } </body>
其中,要注意的一点是,一般我们需要将内容存放到数据库中,再从数据库中取出来,这样一来,就很容易出现中文乱码的问题,为了防止这个问题,最好是将,我们的content采用url编码方式存放到数据库中,从数据库中取出来的时候,我们再利用url解码,这样就防止中文乱码问题。即URLEncoder.encode(s, enc)和URLEncoder.decode(s, enc)方法,其中s是我们的content,enc即我们需要设置的编码方式,一般“utf-8”
相关文章推荐
- CKEditor+CKFinder配置以及使用简介
- CKEditor 的使用方法以及参数配置
- CKEditor+CKFinder配置以及使用简介
- 如何配置与使用CKEDITOR
- svn服务安装和配置 以及搭配Eclips插件使用(总结)
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- 使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析
- busybox下mdev的使用以及mdev.conf的规则配置
- FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
- 文字编辑器FCKeditor 简介以及基本配置和使用方法
- 在apache配置文件中使用IfDefine以及IfModule指令来快速更改配置
- Control Study->AdRotator广告控件显示自定义配置文件中广告以及与DataGrid控件结合使用显示图片(示例代码下载)
- CKEditor 3.0(FCKEditor3.0)的简单安装配置使用
- CKEDITOR使用与配置
- 【原】Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- SQL Explorer配置以及基本使用
- 关于tomcat/jdk/Jcreator配置和使用的全面讲解以及常见问题解答
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- Control Study->AdRotator广告控件显示自定义配置文件中广告以及与DataGrid控件结合使用显示图片(示例代码下载)