当前位置:编程学习 > JAVA >>

在java web应用中集成ckeditor3.5.3介绍

在OpenJWeb中集成CKEditor3.5.3在线编辑器
 
QQ:29803446
baozhengw@163.com
 
 
因为fckeditor目前已升级为ckeditor3.5.3版本,所以openjweb平台中又整合了ckeditor3.5.3,原来的fckeditor2.6仍可使用。本文具体介绍如何将ckeditor集成到自己的web应用中。
首先从网上下载ckeditor3.5.3,解压到自己的web应用的ckeditor目录中。
 
一、字体与字号
 
集成ckeditor之后,如果需要个性化定制字体列表和字号,需要打开ckeditor目录下的ckeditor.js文件,因为ckeditor默认没有宋体、仿宋等中文字体,可在ckeditor.js中找到i.font_names= 这句,修改原来的i.font_names的值,修改后的内容:
i.font_names=u5b8bu4f53;u6977u4f53_GB2312;u4effu5b8b_GB2312;u9ed1u4f53;u65b0u5b8bu4f53;Arial Black;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana; ;
 
字号修改:
    找到i.fontSize_sizes= 这句,此句定义了编辑器使用的字号:
i.fontSize_sizes=8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px

;26/26px;28/28px;36/36px;48/48px;72/72px;
如果需要增加或删除字号,可修改i.fontSize_sizes的值。
 
二、编辑器按钮
 
如果编辑器中的按钮有的需要隐藏,可修改config.js文件,config.js中,
onfig.易做图_A =
              [
                     [Source],
                     [Cut,Copy,Paste,PasteText,PasteFromWord,-,Print, SpellChecker, Scayt],
                     [Undo,Redo,-,Find,Replace,-,SelectAll,RemoveFormat],
                     /,
                     [Bold,Italic,Underline,Strike,-,Subscript,Superscript],
                     [NumberedList,BulletedList,-,Outdent,Indent,Blockquote],
                     [JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock],
                     [Link,Unlink,Anchor],
                     [Image,Table,HorizontalRule,Smiley,SpecialChar,PageBreak],
                     /,
                     [Styles,Format,Font,FontSize],
                     [TextColor,BGColor],
                     [Maximize, ShowBlocks]
              ];
这段代码是配置编辑器工具按钮的,其中’/’表示换行,每对[]套的是一组按钮,不同组的按钮之间有分隔线。
 
三、上传文件
 
Ckeditor中不再提供Java版本的文件上传和从服务器选择文件的功能,需要开发者自己实现。本节介绍上传和浏览服务器文件的具体实现方式。
首先在config.js中指定浏览服务器文件和上传文件的页面:
config.filebrowserBrowseUrl = /portal/common/FileManager.jsp;
config.filebrowserUploadUrl = /portal/common/uploadCK2.jsp;
config.filebrowserImageUploadUrl = /portal/common/uploadCK2.jsp?type=Images;
 
上面分别指定了浏览服务器文件的页面FileManager.jsp,上传文件的页面uploadCK2.jsp,/portal表示当前的web应用的名字,也就是jsp中用request.getContextPath()得到的值。下面是uploadCK2.jsp的代码:
<%@page import="java.io.File"%>
<%@page import="java.util.UUID"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.FileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>文件上传</title>
</head>
<body>
<%
 
String callback = request.getParameter("CKEditorFuncNum"); 
String relativePath = "/userfiles/image/" ; //上传文件存储在web应用的/userfiles/image/目录中,可根据需要自己修改
 
if(ServletFileUpload.isMultipartContent(request)) //检查post到此页面的form类型是不是 enctype="multipart/form-data"类型
{
       
       String type = "";
       if(request.getParameter("type") != null)//获取文件分类
              type = request.getParameter("type").toLowerCase() + "/";
       FileItemFactory factory = new DiskFileItemFactory();
       ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
       servletFileUpload.setHeaderEncoding("UTF-8");//解决文件名乱码的问题
       List<FileItem> fileItemsList = servletFileUpload.parseRequest(request);
       System.out.println(fileItemsList.size());
       for (FileItem item : fileItemsList)
       {
              if (!item.isFormField())
              {
                     String fileName = item.getName();
                  fileName = fileName.replace("\","/");
                     String fullName = fileName;
                     fileName = fileName.substring(fileName.lastIndexOf("/")+1);
                     //保存文件到服务器上
               &n

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,