在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 ,