本来想发在论坛上,结果自己积分为0还无法在论坛上发帖了,就只能写在自己博客里。
以前对Fck只是了解,今天用几个小时研究了一下它的配置和Java代码,发现FCKeditor.Java 2.5版本里对权限、路径等操作都很简单(以前没有自己看过,不知道以前版本的情况,呵呵)。
以下是三个自己写的类:
1.自定义路径,适用于博客、论坛,每个用户可以有一个自己的目录,互不影响。
package net.fckeditor.requestcycle.impl;
import javax.servlet.http.HttpServletRequest;
import net.fckeditor.requestcycle.impl.ContextPathBuilder;
/**
* 2009-9-2
* @author PengFei
* 路径
*/
public class MyContextPathBuilder extends ContextPathBuilder {
@Override
public String getUserFilesPath(HttpServletRequest request) {
// TODO Auto-generated method stub
//在此可以根据从session中读取的用户名或者ID来对应其可以操作的目录
String s=super.getUserFilesPath(request)+"/user1path";
return s;
}
@Override
public String getUserFilesAbsolutePath(HttpServletRequest request) {
// TODO Auto-generated method stub
String s=super.getUserFilesAbsolutePath(request)+"/user1path";
return s;
}
}
2.权限管理,返回一个用户是否有新建文件夹、浏览服务器上的文件、上传文件的权限
package net.fckeditor.requestcycle.impl;
import javax.servlet.http.HttpServletRequest;
import net.fckeditor.requestcycle.UserAction;
/**
* 2009-9-2
* @author PengFei
* 此类可以从session中读取用户信息,判断是否有权限进行相关操作
*/
public class MyEnabledUserAction implements UserAction {
//权限--新建文件夹
public boolean isCreateFolderEnabled(HttpServletRequest request) {
// TODO Auto-generated method stub
return true;
}
//权限--浏览服务器上的文件列表
public boolean isEnabledForFileBrowsing(HttpServletRequest request) {
// TODO Auto-generated method stub
return true;
}
//权限--上传文件
public boolean isEnabledForFileUpload(HttpServletRequest request) {
// TODO Auto-generated method stub
return true;
}
}
3.文件重命名控制
package net.fckeditor.connector.impl;
import java.io.InputStream;
import net.fckeditor.connector.exception.InvalidCurrentFolderException;
import net.fckeditor.connector.exception.WriteException;
import net.fckeditor.handlers.ResourceType;
/**
* 2009-9-2
* @author PengFei
* 文件上传的操作在ContextConnector类中,这里只是对其进行重命名操作,其实完全可以重新自己写上传的代码
*/
public class MyContextConnector extends ContextConnector {
//此方法中可以对文件重命名
@Override
public String fileUpload(ResourceType type, String currentFolder,
String fileName, InputStream inputStream)
throws InvalidCurrentFolderException, WriteException {
// TODO Auto-generated method stub
fileName=fileName;//重命名操作在这里进行
return super.fileUpload(type, currentFolder, fileName, inputStream);
}
}
当然还有其他一些配置,都可以通过继承和重写原有的类来实现。
注意有个配置文件不要忘记,src下的fckeditor.properties,根据以上我自定义的三个类,这里是这样配置的:
connector.userActionImpl=net.fckeditor.requestcycle.impl.MyEnabledUserAction
connector.userPathBuilderImpl=net.fckeditor.requestcycle.impl.MyContextPathBuilder
connector.impl=net.fckeditor.connector.impl.MyContextConnector
当然还有其他配置,如果自己写的,就要在这里配置。详细见net.fckeditor.handlers包下的PropertiesLoader类,在载入的时候会先在fckeditor.properties中查询有无配置,如果有则使用,无则使用net.fckeditor.handlers包下的default.properties文件中的配置。配置的写法都可参照default.properties。
总结一下java web项目中使用FckEditor的步骤:
1.加入fckeditor的文件夹到ROOT目录下,以供网页调用
2.加入jar文件到lib下,2.5版本的demo里是6个jar,都在我的附件里有
3.web.xml中加入配置:
<servlet>
<description>FCKeditor Demo</description>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>
注意这个配置可以不做任何修改,如果是PHP或者ASP,它们的文件上传方法是写在页面中,而页面是放在/ckeditor/editor/filemanager/connectors/目录下。如果第一步中的fckeditor不是直接在ROOT下放置,则这里的路径要做相应的修改。这个servlet类也是非常简单,大家如果重写了这个类,那这里也要对应修改。
4.页面调用(有好几种方法,官方的JSP页面都有例子)。fckconfig.js里配置网上一搜一大堆,这里就不说了。
附上2.5版本官方demo中的JSP文件,自己只写了三个类,外加修改了一个配置文件,希望对大家有用。
分享到:
相关推荐
fckeditor2.5资源关于fckeditor-java-demo-2.5.war下载
FCKeditor_2.6.5.zip,fckeditor-java-demo-2.5.war
FCKeditor2.5配置教程及配置好的例子
这是个不错的编辑开源框架,能很方便的上传图片,文件等,在jsp,asp,php能很方便的嵌入,使用简单,功能强大,欢迎下载!
fckeditor-java-2.5-src.zip编辑器(源码+DEMO) fckeditor-java-2.5-src.zip编辑器(源码+DEMO) fckeditor-java-2.5-src.zip编辑器(源码+DEMO) fckeditor-java-2.5-src.zip编辑器(源码+DEMO) fckeditor-java-...
fckeditor-java-2.5-bin.tar.gz
经过E陌工作组优化后的FckEditor 2.5优化版。 成熟的Web文档编辑器组件,已后多个网站使用。 比官方发布的 速度快,功能和体积都缩小优化只有35OK。
FCKeditor_2.5最新版的在线编辑器,支持多版本浏览器,支持多语言开发应用,最关键的是完全免费使用!!!
FCKeditor 2.5版本的编辑器。
fckeditor-java-2.5-bin.zip ,在线文本编辑器与服务器交互
FckEditor 2.5优化精简版 FckEditor 2.5优化精简版 FckEditor 2.5优化精简版
1): UTF-8转GB2312 2):上传文件日期重命名 3):修改浏览模式下不能上传文件,而修正当前目录 4):上传、浏览文件身份检测(此功能请根据自己的实质情况修改)
fckeditor-java-demo-2.4.1.war
October 10, 2007 - FCKeditor 2.5 Beta released (What's New?) After an incredible development period, full of challenges and enriched by brilliant ideas, here we are with the Beta for the most ...
这个是java开发的fckeditor的demo,还不错
fckeditor 2.6.3的完整实例,maven依赖管理,自定义配置文件引用,自定义工具栏,自定义表情,自定义模板,中文文件名乱码处理,中文文件夹创建乱码处理,中文图片名引用乱码处理,上传文件名自定义,fckeditor在...
需者下载 好处在那里不多说了 要与fckeditor配合
开源免费java在线编辑器,功能强大,容易配置
fckeditor 源码 demo fckeditor 源码 demo fckeditor 源码 demo fckeditor 源码 demo