fckeditor2.6总结

前一段做项目时遇到的一些问题,简单的总结一下,针对那些很简单或网上很容易找到答案的就不说了,没啥意思.

 

一、     文件部署

1、     Fckeditor目录拷贝到工程下的WebContent根下

2、     fckeditor.properties拷贝到工程的src根下

3、     如下六个jar包放入lib目录下:

commons-fileupload-1.2.1.jar
 commons-io-1.3.2.jar
 imageinfo-1.9.jar

java-core-2.6.jar

slf4j-simple-1.5.8.jar
slf4j-api-1.5.8.jar

二、     系统文件配置

1、     如下内容加入web.xml

<servlet>

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

三、     页面引用

1、引入相应标签,还有另外两种引入方式,此处不做介绍,有感兴趣的自己查去!

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="
http://java.fckeditor.net/" prefix="FCK"%>

<html>
  <head>
    <title>
测试页面</title>
  </head>
  <body>
    This is my JSP page. <br>
     <FCK:editor instanceName="myEditor" basePath="/fckeditor" value=" "></FCK:editor>
  </body>
</html>

 

四、     对该编辑器进行的一些常规修改

1、     自定义ToolbarSet,去掉一些功能按钮

fckconfig.jsFCKConfig.ToolbarSets项中将没用的去掉,每一个字符串代表着一个按钮,如‘Source’就对应工具栏的源代码按钮。

2、     加上几种常用的字体
  FCKConfig.FontNames
为引用的字体
  FCKConfig.FontNames = '
宋体;楷体_GB2312;黑体;隶书;Time New Roman;Arial';
 3
、对上传图片的一些限制

上传图片大小限制:Dispatcher.java中增加如下代码:我的文件大小限制写在了配置文件中,可做参考。doPost函数的进行判断为0或小于0或非数字时不做判断。同时在fckeditor.properties中增加fckeditor.uploadImgSize = 0键值。我是为了改起来方便,按本来的想法是要写在default.properties中并封入JAR包的。

//取得上传图片文件大小的控制值

                 int imgsize = 0;

                 if(PropertiesLoader.getProperty("fckeditor.uploadImgSize")!=null&&

                            PropertiesLoader.getProperty("fckeditor.uploadImgSize").matches("//d*")){

                  imgsize = Integer.parseInt(PropertiesLoader.getProperty("fckeditor.uploadImgSize"));

                 }

                if(imgsize>0&&uplFile.getSize()> imgsize * 1024) {

                    uploadResponse = UploadResponse.getInvalidFileMaxSizeError();

代码要贴就贴全了,省得挨骂,可以仿文件类型验证的处理方法再写一个对文件大小的验证方法,代码如下:

public static UploadResponse getInvalidFileMaxSizeError() {

           LocalizedMessages lm = LocalizedMessages.getInstance(ThreadLocalData

                      .getRequest());

           return new UploadResponse(EN_INVALID_FILE_MAXSIZE_ERROR, lm

                      .getInvalidFileMaxSizeSpecified());

      }

//错误号,网上很多都用这个,原因就是顺着错误的顺序写,正好就是204了。

public static final int EN_INVALID_FILE_MAXSIZE_ERROR = 204;

public String getInvalidFileMaxSizeSpecified() {

           return getMessage("connector.fileUpload.invalid_file_maxsize_specified"); //$NON-NLS-1$

      }

connector.fileUpload.invalid_file_maxsize_specified = the upload file too large

代码完事了,下面就是页面的处理。如下:

frmupload.html

case 202 :

                 alert( 'Invalid file' ) ;

                 break ;

case 204 :

               alert( "您的图片大小超过了限制!" );

break;

 

对上传图片尺寸的限定设置:

fck_image.jsfunction Ok()函数里增加如下代码:

//限制宽度开始

         if(!(GetE('txtWidth').value>0||GetE('txtWidth').value<750)) 

          {

                window.parent.SetSelectedTab( 'Info' ) ;

                alert('图片的宽度范围为0--750,请重新输入')  ;

               GetE('txtWidth').value='';

                GetE('txtWidth').focus() ;

                return false;

           }

          if(GetE('txtWidth').value.length==0)

          {

                 window.parent.SetSelectedTab( 'Info' ) ;

                 GetE('txtWidth').focus();

            alert( '请输入图像宽度,图像宽度不能超过750' ) ;

              return false ;

           }  

           

           if(GetE('txtWidth').value>750)

           {

                window.parent.SetSelectedTab( 'Info' ) ;

                alert('图片的宽度不能超过750,请重新输入')  ;

                GetE('txtWidth').value='';

                GetE('txtWidth').focus() ;

                return false;

           }

           if(GetE('txtWidth').value<0)

           {

                window.parent.SetSelectedTab( 'Info' ) ;

                alert('图片的宽度不能为负,请重新输入')  ;

               GetE('txtWidth').value='';

                GetE('txtWidth').focus() ;

                return false;

           }

           if(GetE('txtHeight').value<0)

           {

                window.parent.SetSelectedTab( 'Info' ) ;

                alert('图片的高度不能为负,请重新输入')  ;

               GetE('txtHeight').value='';

                GetE('txtHeight').focus() ;

                return false;

           }

         //限制宽度结束

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如何配置: 基本的比如路径、toolbar等这些东西网上很多,我就不写了~主要说下对已上传文件管理部分的配置。 1.首先打开包中editor/filemanager/connectors/php目录下的config.php文件,有如下部分: view source print? 1 $Config['MysqlHost'] = 'localhost'; 2 $Config['MysqlUserName'] = 'root'; 3 $Config['MysqlPW'] = ''; 4 $Config['MysqlDBName'] = 'test'; 5 $Config['TableName'] = 'attachments'; 6 $Config['OwnerVarType'] = 'COOKIE'; //only SESSION or COOKIE 7 $Config['OwnerVarName'] = 'ownerid'; 相信大家一看都知道是什么些了吧~这里说下后三个是什么东东~ view source print? 1 $Config['TableName'] //在数据库中附件表的表名 view source print? 1 $Config['OwnerVarType'] 2 $Config['OwnerVarName'] 这两个是一起的。因为我们写的文章都要有一个ID,也就是唯一标志的~这里通过这两个设置告诉fck在php中哪个变量是当前编辑文章的ID。 $Config['OwnerVarType']只能设置为COOKIE或SESSION,表示文章ID是存在COOKIE中的还是SESSION中的。这里建议大家用SESSION,因为COOKIE的话,可能存在一个cookie欺骗哦~ $Config['OwnerVarName']表示你设置的COOKIE或者SESSION的变量名字。比如你存的是$_COOKIE['ownerid']。那么,就是上面的默认设置。 view source print? 1 $Config['AllowedExtensions']['File'] 2 $Config['AllowedExtensions']['Image'] 3 $Config['AllowedExtensions']['Flash'] 这三个变量是设置你允许上传的文件类型,和已上传文件管理功能也密切相关的哈~ 2.设置好上面的文件以及fck的基本设置之后,请首先运行editor/filemanager/connectors/php目录下的create_db_table.php文件,确保附件表已经创建。 3.enjoy it~ 如果有bug,或不能正常使用,欢迎指正哈~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值