##2.使用ckeditor標籤替換頁面的指定文本域javascript
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %>
至於相關參數,例如,prefix等咱們怎麼知道,填什麼的呢?咱們將jar文件粘貼到咱們項目的WEB-INF->lib中後,就會生成一個Referenced Libraries,在裏面找到咱們的jar文件,其中在META-INF中會有一個ckeditor.tld的文件,這個裏面就有咱們所須要的參數;java
<form> <textarea id="content" style=""></textarea> </form> <ckeditor:replace replace="content" basePath="ckeditor"></ckeditor:replace>
其中,replace屬性是咱們的textarea的id,basePath指咱們的ckeditor文件夾的路徑web
##2.使用ckeditor替換頁面全部的文本域數據庫
<form> <textarea id="content"></textarea> <textarea id="content2"></textarea> </form> <ckeditor:replaceAll basePath="ckeditor"></ckeditor:replaceAll>
##3.使用ckeditor建立實例服務器
<form> <ckeditor:editor editor="content" basePath="ckeditor" config="<%=cfg %>"></ckeditor:editor> </form>
其中這裏的editor屬性,相似於,咱們建立textarea時指定的name和id,config是咱們的配置信息,咱們可能須要配置ckeditor。(後面我會寫到)app
##4.使用javascript直接替換文本域webapp
一、在頁面<head>中引入ckeditor核心文件ckeditor.js <script type="text/javascript" src="ckeditor/ckeditor.js"></script> 二、在使用編輯器的地方插入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" 。 三、將相應的控件替換成編輯器代碼 <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.jsjsp
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
上面我主要講了ckeditor使用的4中方式,下面我介紹ckeditor的相關配置編輯器
##5.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 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代碼,因而,咱們通常能夠經過第二種方式。
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」