最近在做一个个人小博客,想要实现发表博文时候插入图片的效果,于是在网上浏览有什么好的插件编辑器,就看到了“kec”,哈哈。。
于是。。我从早上9点多。。一直捣鼓到刚才才结束,头都弄大了。。最后总结一下一些经验。。免的跟我一样,想死的心都有了。。
一、 下载源文件:
CKEditer4.2 和 CKEditer 3.6.4 for java : http://ckeditor.com/download
CKFinder2.4 : http://cksource.com/ckfinder/download
由于我有强迫症不想用旧的版本,所以用了最新的4.2,估计也是这个原因弄的我头大。
二、解压三个压缩包:
1、复制ckeditor和ckfinder(是ckfinder_java_2.4解压出来的ckfinder目录下的CKFinderJava.war再解压出来的CKFinderJava文件夹下的ckfinder,有点拗口-0-)到web项目下的WebRoot目录下。
2、复制ckeditor-java-core-3.5.3文件夹的ckeditor-java-core-3.5.3.jar包和CKFinderJava(刚刚那拗口的地方)下WEB-INF的config.xml以及lib所有包到项目中(config.xml放到web项目的WEB-INF下)
三、修改配置文件[/size]
1、config.xml
修改两个地方
<config>
<enabled>true</enabled><!-- 默认false就是不给上传-->
<baseDir></baseDir>
<baseURL>/FCKEditor/upload/userfiles/</baseURL> <!-- 自己项目路径-->
2、web.xml
<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>XMLConfig</param-name>
<param-value>/WEB-INF/config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
</url-pattern>
</servlet-mapping>
<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
<init-param>
<param-name>sessionCookieName</param-name>
<param-value>JSESSIONID</param-value>
</init-param>
<init-param>
<param-name>sessionParameterName</param-name>
<param-value>jsessionid</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>
/ckfinder/core/connector/java/connector.java
</url-pattern>
</filter-mapping>
3、修改ckeditor下面的config.js
CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here.
// For the complete reference:
// http://docs.ckeditor.com/#!/api/CKEDITOR.config
config.filebrowserBrowseUrl = 'FCKEditor/ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl = 'FCKEditor/ckfinder/ckfinder.html?type=Images';
config.filebrowserFlashBrowseUrl = 'FCKEditor/ckfinder/ckfinder.html?type=Flash';
config.filebrowserUploadUrl = 'FCKEditor/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files';
config.filebrowserImageUploadUrl = 'FCKEditor/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images';
config.filebrowserFlashUploadUrl = 'FCKEditor/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' ;
config.filebrowserWindowWidth = '1000';
config.filebrowserWindowHeight = '700';
config.language = "zh-cn";//预览区域显示内容
// The toolbar groups arrangement, optimized for two toolbar rows.
config.toolbarGroups = [
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
{ name: 'links' },
{ name: 'insert' },
{ name: 'forms' },
{ name: 'tools' },
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
{ name: 'others' },
'/',
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
{ name: 'styles' },
{ name: 'colors' },
{ name: 'about' }
];
// Remove some buttons, provided by the standard plugins, which we don't
// need to have in the Standard(s) toolbar.
config.removeButtons = 'Underline,Subscript,Superscript';
// Se the most common block elements.
config.format_tags = 'p;h1;h2;h3;pre';
// Make dialogs simpler.
config.removeDialogTabs = 'image:advanced;link:advanced';
};
四、jsp文件:
1、标签:
<%@ taglib uri="http://ckeditor.com" prefix="ckeditor"%>
<%@ taglib uri="http://cksource.com/ckfinder" prefix="ckf" %>
<head>
</head>
<%
Map<String, String> attr = new HashMap<String, String>();
attr.put("rows", "8");
attr.put("cols", "50");
CKEditorConfig config2 = new CKEditorConfig();
config2.addConfigValue("width", "800");
config2.addConfigValue("toolbar", "Basic");
%>
<body>
<textarea id="editor1" name="editor1" rows="5" cols="5"></textarea>
<ckf:setupCKEditor editor="editor1" basePath="/FCKEditor/ckfinder/" />
<ckeditor:replace replace="editor1" basePath="/FCKEditor/ckeditor/"></ckeditor:replace>
</body>
这里是第一个弄的我头大的,<ckeditor:replace>标签要放在<ckf:setupCKEditor>下,否者在你上传或者浏览文件就会找不到路径。。。我恨。。
第二个就是如果你发现你能打开上传界面了,但是发现上传的时候没反应,那么你就可能是在struts2环境下的web.xml配置的其他过滤器跟struts2过滤器有冲突,可以把web.xml下struts2节点内容改为
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
好了。大概就这样了。。不明白可以留言啊。。语言组织不好,凑合看哈
分享到:
相关推荐
总之,通过`ckeditor`和`ckfinder`的整合,你可以为JAVA工程提供一个强大的富文本编辑体验,同时具备图片和文件的上传管理功能。在实际开发过程中,需要注意兼容性、性能优化以及安全性,以确保用户体验和系统稳定。
然后在ckeditor的初始化代码中,通过配置filebrowserBrowseUrl和filebrowserUploadUrl属性,指定ckFinder的浏览和上传接口地址。这样,当用户在ckeditor中点击“插入图片”或“插入文件”按钮时,就会弹出ckFinder的...
将CKEditor与CKFinder整合,可以使用户在编辑文本时直接通过CKFinder上传图片或其他文件,而无需离开编辑界面。这个例子中,已经完成了两者的集成,使得用户在编辑过程中可以无缝地上传图片。 **自定义功能:自动...
Ckeditor和ckFinder是两个在Web开发中广泛使用的工具,尤其在创建富文本编辑器和管理文件上传方面。本文将详细介绍如何在Java环境中整合这两个工具,以实现一个功能完善的文本编辑器,并支持文件上传。 **Ckeditor...
CKFinder则是一个与CKEditor配套的文件管理工具,允许用户上传、浏览、管理和插入图片、文档等多媒体资源。将这两者结合起来,可以构建一个功能强大的在线内容创作环境。 **CKEditor 4.2 知识点** 1. **CKEditor ...
### 关于JSP中ckeditor...通过本文详细介绍的步骤,可以有效地将ckeditor与ckfinder整合到JSP项目中,实现文件上传、图片插入等功能。这种方法不仅提高了用户体验,还简化了开发过程中的复杂度,是非常实用的技术组合。
在"CKEditor + ckFinder编辑器"的整合中,用户可以通过CKEditor进行文本编辑,同时利用ckFinder的文件管理功能,实现图片、Flash等多媒体资源的便捷上传。这种集成解决了FCKEditor(CKEditor的前身)仅能处理图片...
4. 集成CKFinder到CKEditor,通常通过CKEditor的"插件"系统实现,使用户能在编辑器中触发CKFinder对话框来选择和上传文件。 5. 在服务器端处理CKFinder的文件上传请求,确保安全性并进行必要的文件管理操作。 这个...
3. **集成CKFinder**:在CKEditor的配置中,设置`filebrowserBrowseUrl`和`filebrowserUploadUrl`属性,指向CKFinder的URL,以启用文件浏览和上传功能。这样,当用户点击CKEditor中的"插入图像"或"插入链接"按钮时,...
在本文中,我们将深入探讨如何将Ckeditor与ckfinder整合在Java环境下,实现文件上传功能。Ckeditor是一款强大的富文本编辑器,而ckfinder则是一个文件管理器,它们结合使用可以方便地在编辑器中插入、管理和上传各种...
4. **测试整合效果**:在 CKEditor 中尝试上传、浏览和插入文件,确保 CKFinder 功能正常工作。 这个实例项目的意义在于提供了一个实际的演示,展示了如何将 CKEditor 和 CKFinder 整合到一起,为用户提供一个完整...
在这个“Blog”项目中,作者已经实现了CKEditor和CKFinder的基本整合,能够满足基本的文章编辑和文件管理需求。但需要注意的是,可能还存在一些高级功能未实现,例如图片预览、文件拖放上传、多媒体文件支持等。随着...
4. **测试和调试**:最后,通过编写测试用例或实际操作来验证整合是否成功,确保CKEditor能正常调用CKFinder进行文件上传,且文件名按预期以日期型命名。 对于新手来说,这种整合可能会有一些挑战,但通过参考教程...
CKFinder则是一个文件管理器,专为CKEditor设计,用于上传、浏览和管理服务器上的图像、文件。CKFinder支持多种文件类型,并且可以通过其直观的界面方便地集成到CKEditor中,使得在编辑器内直接插入图片或媒体文件变...
4. 可能需要调整CKFinder的代码以去除提示信息和实现中文重命名。 5. 测试集成,确保编辑器和文件管理器能正常协同工作。 这样的整合对于那些需要在网站上提供强大内容编辑和文件管理功能的开发者来说非常有用。...
整合CKFinder到CKEditor中,可以实现以下功能: 1. **图片库**:CKFinder可以作为图片库,用户可以直接在编辑器中插入存储在服务器上的图片。 2. **文件链接**:用户可以方便地将服务器上的文档、音频或视频文件...
以下是对"java与ckeditor和ckfinder整合后实现上传图片功能"这一主题的详细说明。 首先,**CKEditor** 是一个开源的JavaScript富文本编辑器,它提供了丰富的文本格式化选项,让用户可以在网页上创建类似于Word文档...
CKFinder是一款与CKEditor配套的文件管理器,主要用于上传、浏览、管理服务器上的文件和图片。它的功能包括: 1. **文件管理**:支持创建、删除、重命名文件和目录,以及上传、下载文件。 2. **多媒体支持**:可以...
在这个"struts下ckeditor4.2+ckfinder2.3.1结合简单demo"中,我们将探讨如何在Struts框架中整合这两个工具以实现高效的富文本编辑和文件管理。 首先,集成CKEditor和CKFinder需要在项目中引入它们的库文件。...