ckeditor的用法说明:
1.在head标签中引用ckeditor.js
<script type='text/javascript' src="../static/plugins/editor/ckeditor.js"></script>
2.在页面中用textarea来进行引用(class="ckeditor"很关键,不能省略)
<textarea class="ckeditor" id="question_content" name="question.questionContent" style="width: 970px" escape="true"></textarea>
3.屏蔽掉上传图片的时候“浏览服务器”功能
打开ckeditor目录下的plugins\editor\plugins\image\dialogs\image.js文件,
搜索第一个“browseServer”在其后面加上 ,style:'display:none' 可将“图像”选项卡“浏览服务器”功能屏蔽掉
搜索第二个“browseServer”在其后面加上 ,style:'display:none' 可将“超链接”选项卡“浏览服务器”功能屏蔽掉
4.实现上传图片功能
(1)打开config.js,添加如下代码:
var pathName = window.document.location.pathname;
//获取带"/"的项目名,如:/uimcardprj
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
修改config.filebrowserImageBrowseUrl 和 config.filebrowserUploadUrl 的值分别为:
config.filebrowserImageBrowseUrl = projectName+'/system/ckeditorUpload.action'; //(该路径为上传图片时请求的action路径)
config.filebrowserUploadUrl = projectName+'/system/ckeditorUpload.action';
(2)在xwork.xml请求资源路径配置文件中加入以下配置
<action name="ckeditorUpload" class="net.survey.util.CkeditorUpload">
<interceptor-ref name="defaultStack" />
<result name="success"></result>
</action>
(3)根据action请求路径新建一个action类并让其继承ActionSupport基类,其中为实现上传图片的核心代码
package net.survey.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionSupport;
public class CkeditorUpload extends ActionSupport {
private File upload; //文件
private String uploadContentType; //文件类型
private String uploadFileName; //文件名
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
@Override
public String execute() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
// CKEditor提交的很重要的一个参数
String callback = ServletActionContext.getRequest().getParameter("CKEditorFuncNum");
String expandedName = ""; //文件扩展名
if (uploadContentType.equals("image/pjpeg") || uploadContentType.equals("image/jpeg")) {
//IE6上传jpg图片的headimageContentType是image/pjpeg,而IE9以及火狐上传的jpg图片是image/jpeg
expandedName = ".jpg";
}else if(uploadContentType.equals("image/png") || uploadContentType.equals("image/x-png")){
//IE6上传的png图片的headimageContentType是"image/x-png"
expandedName = ".png";
}else if(uploadContentType.equals("image/gif")){
expandedName = ".gif";
}else if(uploadContentType.equals("image/bmp")){
expandedName = ".bmp";
}else{
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback + ",''," + "'文件格式不正确(必须为.jpg/.gif/.bmp/.png文件)');");
out.println("</script>");
return null;
}
if(upload.length() > 600*1024){
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback + ",''," + "'文件大小不得大于600k');");
out.println("</script>");
return null;
}
InputStream is = new FileInputStream(upload);
String uploadPath = ServletActionContext.getServletContext().getRealPath("/upload/img");
String fileName = java.util.UUID.randomUUID().toString(); //采用时间+UUID的方式随即命名
fileName += expandedName;
File toFile = new File(uploadPath, fileName);
OutputStream os = new FileOutputStream(toFile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
is.close();
os.close();
// 返回“图像”选项卡并显示图片
out.println("<script type=\"text/javascript\">");
out.println("window.parent.CKEDITOR.tools.callFunction(" + callback + ",'" + "/minexplore/upload/img/" + fileName + "','')");
out.println("</script>");
return null;
}
}
(4)为了能在webwork环境下识别 UploadContentType 和 UploadFileName 属性,需要在src下的webwork.properties中添加以下键值对
### character encoding
webwork.i18n.encoding=gbk
webwork.locale=zh_CN
### multipart setting
webwork.multipart.saveDir=/tmp
webwork.multipart.maxSize=2097152
webwork.multipart.parser=jakarta
(5)为了能够实现图片上传,需要在所在的表单form标签中设置enctype="multipart/form-data"
相关推荐
4. **处理提交数据**:CKEditor生成的是HTML格式的内容,当用户提交表单时,需要将编辑器中的内容转换为纯文本或预处理HTML,以适应服务器端的处理。可以通过`CKEDITOR.instances.editor.getData()`获取编辑器的当前...
CKEditor是一款广泛应用于Web开发中的富文本编辑器,它提供了丰富的文字格式化功能,使得用户在网页上可以像在桌面应用程序中一样编辑内容。在JSP(JavaServer Pages)环境中集成CKEditor,可以让用户在服务器端进行...
**Ckeditor在线编辑器详解** Ckeditor是一款广受欢迎的富文本在线编辑器,它为用户提供了类似于Word的编辑体验,使得在网页上创建、编辑和格式化文本变得极其简单。这款编辑器以其功能强大、易用性高以及高度可定制...
该事例主要演示了如何向jsp中嵌入ckeditor编辑器。注意首先要引入ckeditor资源库。上网就可以下载。下载下来之后将其放到webRoot目录下就可以了。
JSP网页编辑器CKEditor含图片上传功能,本编辑器中含有一个本地图片自动上传插件,插件使用JAVA技术开发,需要配合JavaScript使用,可以将网页中含有的本地图片(src为'file:///')自动上传到服务器并修改img标签的...
CKEditor 是一款功能强大的开源在线文本编辑器,可集成,可扩展,使用非常方便。 CKEditor 完全是基于 JavaScript 开发的,因此不必在客户端进行任何安装,并且兼容各大主流浏览器,比如:IE,Firefox,Chrome,...
最近项目开发需要用到CKEditor在线编辑器,但发现他本身没有自带,所以需要自己手动配置插件。但网上很多配置都有问题,自己摸索了好久终于搞定。需要注意的细节有:flvPlayer文件夹的内容直接放在ckeditor文件夹...
ckEditor是一款非常流行的富文本编辑器,它能够提供强大的文本编辑功能,包括图片上传、格式化文本等,广泛应用于各类网站和应用中。本文将详细介绍如何在JSP页面中集成ckEditor,并通过示例代码来展示具体的实现...
CKEditor是一款功能强大的富文本编辑器,广泛应用于网页制作、内容管理系统和各种Web应用程序中,为用户提供了一种在网页上类似桌面文字处理软件的编辑体验。它基于JavaScript编写,能够与jQuery、Java(如JSP)等...
Ckeditor是一款强大的富文本编辑器,广泛应用于网站内容管理和新闻编辑系统中,提供丰富的文本格式化选项,如字体、颜色、对齐方式等。它不仅支持文本编辑,还允许用户上传图片、嵌入Flash动画,极大地提升了网页...
ckeditor是一款非常流行的开源富文本编辑器,广泛应用于各种Web应用程序中,它提供了丰富的文本编辑功能,如字体格式化、颜色选择、图像插入等。然而,ckeditor本身并不具备文件上传功能,为了实现文件上传的需求,...
CKeditor v3.2.1 JSP增强版是一款专为Java Web开发者设计的富文本编辑器,它在标准的CKeditor 3.2.1版本基础上进行了特定的JSP优化和扩展,添加了Servlet上传功能,使用户在网页上编辑文本时能够方便地上传图片和...
在实际应用中,使用在线编辑器JSP版可能涉及以下技术点: - **JavaScript库**:编辑器通常基于JavaScript实现,如CKEditor、TinyMCE等,它们负责前端的用户交互。 - **AJAX**:用于异步更新内容,提高用户体验,...
在线编辑器JSP版eWebEditor是一款专为Java Web开发者设计的文本编辑组件,它允许用户在网页上直接进行文本编辑、格式化和内容创作,类似于常见的富文本编辑器(例如TinyMCE和CKEditor)。这款编辑器以其便捷性和灵活...
在实际项目中,开发者可以将CKEditor 3.6.2集成到Java Web应用中,通过JSP、Servlet或其他MVC框架来调用编辑器,实现用户界面的动态内容编辑。例如,可以使用Java的Struts2或Spring MVC框架,将编辑器视图与后端业务...
总结来说,JSP在线编辑器是利用JSP技术和相关前端技术构建的网页编辑工具,它的源代码涉及到了服务器端和客户端的多个层面,包括JSP文件、Java类以及前端资源。理解和掌握这些知识点对于开发和维护这样的编辑器至关...