1、下载及介绍:
官方网站www.fckeditor.net
下载两个包:FCKeditor2.6.3.zip和FCKeditor-java-2.4-bin.zip
2、两种调用方式:
通过javascript调用、在jsp中通过自定义标签调用
FCKeditor对象的属性
Width 宽度 100%
Height 高度 200
Value 初始化内容 ""
ToolbarSet 工具条 Default
BasePath 基路径 /fckeditor/
通过自定义标签使用时注意:
添加5个jar包(commons-fileupload.jar、commons-io.jar、java-core.jar、slf4j-api.jar、slf4j-simple.jar),
<FCK:editor instanceName="myEditor" basePath="/fckeditor" value="content"/>value值不能为空
3、配置FCKeditor三中方法:
直接修改主配置文件fckconfig.js
定义单独的配置文件(只需要修改配置项)
在页面的调用代码中对FCKeditor的实例进行配置
4、一般需要修改的配置:
自定义ToolbarSet,去掉一些功能(在fckconfig.js中FCKConfig.ToolbarSets项有两个配置为Default和Basic)
加上几种常用的字体(在fckconfig.js中FCKConfig.FontNames项)
修改"回车"和"Shift+回车"的换行行为(在fckconfig.js中FCKConfig.EnterMode和FCKConfig.ShiftEnterMode)
修改编辑区样式文件(在fckconfig.js中FCKConfig.EditoAreaCSS)
增加表情图片(在fckconfig.js中FCKConfig.SmileyPath...)
(配置表情图片弹出窗口:在fckeditor/editor/dialog/fck_smiley.html中注释dialog.SetAutoSize(true);
改为<body style="overflow:auto")
5、文件上传基本使用:
在web.xml中添加配置、建fckeditor.properties文件配置connector.userActionImpl=...
6、上传中文名文件和新建中文名目录乱码:
修改源文件中的ConnectorServlet.java作为自己的Servlet
(其中上传文件前没有设置编码才出现的乱码、取得目录名时也没有设置编码)
(上传图片预览中文乱码解决:改源码上传图片名用UUID作为文件名)
7、控制允许上传文件类型:
在fckeditor.properties中添加connector.resourceType.image.extensions.allowed=...
同时修改fckconfig.js中Fckconfig.ImageUploadallowedExtensions=...(或添加此配置到自定义配置文件中覆盖原来的)
注意:这两处修改要保持一样。
8、控制允许上传文件大小:
修改fckediotr的Servlet
9、应用到论坛中:
给编辑区加CSS样式
使用自定义ToolbarSet
去掉浏览服务器按钮
修改页面文字和提示语(右键看属性找到对应的页面修改)
最后:整合Struts2
<!-- 定义struts2的核心控制器FilterDispathcer -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</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>
//页面上的action属性值后面都写上**.action,此时的struts2核心控制器只过滤**.action和**.jsp,而不会拦截fckeditor的请求
<!-- FCKeditor -->
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
com.eportal.servlet.ConnectorServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>