FCKeditor

特别提示:如果你使用官方下载的demo包,请用FCKeditor_2.6.3包替换掉其中的editor目录,因为我个人在做的时候就走了弯路,把demo包拷过来怎么做都不能向action传值,最后换成FCKeditor_2.6.3后成功解决问题。简而言之,就是按demo中的配置方法,但所用的包是FckEditor2.6.3和FckEditor for java 2.4,如果把demo包拷过来可能会出现一些问题,切记!

       个人在配置的过程中还出现了英文为乱码的问题(中文没有问题),其实解决办法很简单:修改FCKeditor下的FckConfig.js文件,找到FCKConfig.ProcessHTMLEntities配置项,将其值改为  false;即可!

      由于FckEditor for java 2.4相对于2.3而言做了许多改变,这些改变使得我们的Fckeditor配置起来更方便。例如:

基础包名从:com.fredck.FCKeditor 改为 net.fckeditor.

文件上传SimpleUploaderServle整合到了ConnectorServlet里面,WEB,XML的配置就简单多了,下面通过一个实例说明配置详细步骤

1、首先登陆www.fckeditor.net/download下载FCKeditor的最新版本,需要下载2个压缩包,一个是基本应用。另一个是在为在jsp下所准备的配置。

最新版本为:FckEditor2.6.3和FckEditor for java 2.4

FCKeditor 2.6.3下载地址:sourceforge.net/project/downloading.php     
       具体下载地址:http://easynews.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.6.3.zip
       FCKeditor for Java 下载地址:sourceforge.net/project/downloading.php
     具体下载地址:http://switch.dl.sourceforge.net/sourceforge/fckeditor/fckeditor-java-2.4-bin.zip(发行版,如果需要源码或者demo包请另行下载)

请下载demo包,否则会出现留言中那位朋友的错误!

下载之后分别为:FCKeditor_2.6.3.zip 和 fckeditor-java-2.4-bin.zip(fckeditor-java-demo-2.4.war)将它们分别解压。

2、首先在MyEclipse(或者其他的IDE)下建立一个新项目例如:FckedtiorTest 即http://localhost:8080/FckeditorTest

现在将解压后的FCKeditor_2.6.3.zip 里面的fckeditor文件夹拷贝到当前的项目文件夹里面。我的demo项目目录结构如下:

4969eaf835380917d9f9fdde

         3、配置web.xml。配置文件如下,这就是全部了,其他的不需要再配置,由于SimpleUploaderServle整合到了 ConnectorServlet里面,所以文件上传等都不需要再配置。

<servlet>
   <servlet-name>Connector</servlet-name>
   <servlet-class>
    net.fckeditor.connector.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>

4、在src目录下面建立fckeditor.properties资源文件,在里面写入这么一行“connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl”

5、下面写测试页面:

     index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>
<html>
<head>
    <title>FckEditor测试</title>
</head>
<body style="text-align: center;">
<div style="text-align: center;width: 600pt">
<h2>FckEditor测试</h2>
<hr>
<form action="ShowData.jsp" method="post">
     <FCK:editor instanceName="test" height="400pt">
   <jsp:attribute name="value"> 这里是
<a href="http://hi.baidu.com/huqiwen">数据测试</a>
   </jsp:attribute>
</FCK:editor>
   <input type="submit" value="提交"/>
   <input type="reset" value="重置"/>
   </form>
</div>
</body>
</html>

   显示数据的页面:ShowData.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<head>
   <title>FCKeditor - 显示数据</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<%
   request.setCharacterEncoding("UTF-8");
   String data = request.getParameter("test");
%>
<body>
   <h1>FCKeditor - 显示数据</h1>
   <hr/><br />
   <%=data%>
</body>
</html>

6、结果截图

index.jsp

171ec995165ef253d1135e07

ShowData.jsp

19e77acb151ead07be09e6fa

6、给FckEditor瘦身

      删除fckeditor目录下面所有以“_”开头的文件或者文件夹,像"_samples"、"_documentation.html“等

     删除fckeditor目录下面除了,fckconfig.js   fckpackage.xml fckstyles.xml   fcktemplates.xml外的所有文件,当然要保留editor文件夹

     删除fckeditor/editor/lang目录下面除了en.js、 zh-cn.js外的所有文件

     删除fckeditor/editor/filemanager目录下面的connectors文件夹

     删除editor/skins目录下面除了default下面的文件夹,这个里面是皮肤,共有三种,可以在fckconfig.js里面设置。

 

 

 

 

 
  1. FCKConfig.CustomConfigurationsPath = '' ; // 自定义配置文件路径和名称   
  2. FCKConfigFCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css'; // 编辑区的样式表文件   
  3. FCKConfig.EditorAreaStyles = '' ; // 编辑区的样式表风格   
  4. FCKConfig.ToolbarComboPreviewCSS =''; //工具栏预览CSS   
  5. FCKConfig.DocType = '' ;//文档类型   
  6. FCKConfig.BaseHref = ''; // 相对链接的基地址   
  7. FCKConfig.FullPage = false ; //是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容   
  8. FCKConfig.StartupShowBlocks = false ;//决定是否启用"显示模块"   
  9. FCKConfig.Debug = false ;//是否开启调试功能   
  10. FCKConfigFCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; //皮肤路径   
  11. FCKConfig.PreloadImages=... //预装入的图片   
  12. FCKConfigFCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; //插件路径   
  13. FCKConfig.AutoDetectLanguage = true ; //是否自动检测语言   
  14. FCKConfig.DefaultLanguage    = 'zh-cn' ; //默认语言   
  15. FCKConfig.ContentLangDirection = 'ltr' ; //默认的文字方向,可选"ltr/rtl",即从左到右或从右到左   
  16. FCKConfig.ProcessHTMLEntities = true ; //处理HTML实体   
  17. FCKConfig.IncludeLatinEntities = true ; //包括拉丁文   
  18. FCKConfig.IncludeGreekEntities = true ;//包括希腊文   
  19. FCKConfig.ProcessNumericEntities = false ;//处理数字实体   
  20. FCKConfig.AdditionalNumericEntities = '' ;    //附加的数字实体   
  21. FCKConfig.FillEmptyBlocks = true ; //是否填充空块   
  22. FCKConfig.FormatSource    = true ; //在切换到代码视图时是否自动格式化代码   
  23. FCKConfig.FormatOutput    = true ; //当输出内容时是否自动格式化代码   
  24. FCKConfig.FormatIndentator = '     ' ; //当在源码格式下缩进代码使用的字符   
  25. FCKConfig.StartupFocus = false ; //开启时焦点是否到编辑器,即打开页面时光标是否停留在fckeditor上   
  26. FCKConfig.ForcePasteAsPlainText = false ; //是否强制粘贴为纯文件内容   
  27. FCKConfig.AutoDetectPasteFromWord = true ; //是否自动探测从word粘贴文件,仅支持IE   
  28. FCKConfig.ShowDropDialog = true ;//是否显示下拉菜单   
  29. FCKConfig.ForceSimpleAmpersand = false ;//是否不把&符号转换为XML实体   
  30. FCKConfig.TabSpaces    = 0 ;//按下Tab键时光标跳格数,默认值为零为不跳格   
  31. FCKConfig.ShowBorders = true ;//合并边框   
  32. FCKConfig.SourcePopup = false ;//弹出   
  33. FCKConfig.ToolbarStartExpanded = true ;//启动fckeditor工具栏默认是否展开   
  34. FCKConfig.ToolbarCanCollapse = true ;//是否允许折叠或展开工具栏   
  35. FCKConfig.IgnoreEmptyParagraphValue = true ;//是否忽略空的段落值   
  36. FCKConfig.FloatingPanelsZIndex = 10000 ;//浮动面板索引   
  37. FCKConfig.HtmlEncodeOutput = false ;//是否将HTML编码输出   
  38. FCKConfig.TemplateReplaceAll = true ;//是否替换所有模板   
  39. FCKConfig.ToolbarLocation = 'In' ;//工具栏位置,   
  40. FCKConfig.CustomConfigurationsPath = '' ; // 自定义配置文件路径和名称   
  41. FCKConfigFCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css'; // 编辑区的样式表文件   
  42. FCKConfig.BaseHref = ''; // 相对链接的基地址   
  43. FCKConfig.Debug = true/false; // 是否开启调试功能,当调用FCKDebug.Output()时,会在调试窗中输出内容   
  44. FCKConfigFCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/'; // 设置皮肤   
  45. FCKConfig.AutoDetectLanguage = true/false ; // 是否自动检测语言   
  46. FCKConfig.DefaultLanguage = 'zh-cn' ; // 设置默认语言   
  47. FCKConfig.ContentLangDirection = 'ltr/rtr'; // 默认文字方向,ltr左,rtr右   
  48. FCKConfig.FillEmptyBlocks = true/false ; // 使用这个功能,可以将空的块级元素用空格来替代   
  49. FCKConfig.FormatSource = true/false; // 切换到代码视图时,是否自动格式化代码   
  50. FCKConfig.FormatOutput = true/false; // 当输出内容时是否自动格式化代码   
  51. FCKConfig.FormatIndentator = ""; // 当在“源码格式”下缩进代码使用的字符   
  52. FCKConfig.GeckoUseSPAN = true/false; // 是否允许SPAN标记代替B,I,U标记   
  53. FCKConfig.StartupFocus = true/false; // 开启时是否FOCUS到编辑器   
  54. FCKConfig.ForcePasteAsPlainText = true/false;// 强制粘贴为纯文本   
  55. FCKConfig.ForceSimpleAmpersand = true/false; // 是否不把&符号转换为XML实体   
  56. FCKConfig.TabSpaces = 0/1; // TAB是否有效   
  57. FCKConfig.TabSpaces = 4; // TAB键产生的空格字符数   
  58. FCKConfig.ShowBorders = true/false; // 是否合并边框   
  59. FCKConfig.ToolbarStartExpanded = true/false; // 页面载入时,工具栏是否展开,点“展开工具栏”时才出现   
  60. FCKConfig.ToolBarCanCollapse = true/false; // 是否允许展开折叠工具栏   
  61. FCKConfig.ToolbarSets = object ; // 编辑器的工具栏,可以自行定义,删减,可参考已存在工具栏   
  62. FCKConfig.EnterMode = 'p'; // 编辑器中直接回车,在代码中生成,可选为p | div | br   
  63. FCKConfig.ShiftEnterMode = 'br'; // 编辑器中Shift+回车,在代码中生成,可选为p | div | br   
  64. FCKConfig.ContextMenu = 字符串数组; // 右键菜单的内容   
  65. FCKConfig.FontColors = ""; // 文字颜色列表   
  66. FCKConfig.FontNames = ""; // 字体列表   
  67. FCKConfig.FontSizes = ""; // 字号列表   
  68. FCKConfig.FontFormats = ""; // 文字格式列表   
  69. FCKConfig.StylesXmlPath = ""; // CSS样式列表的XML文件的位置   
  70. FCKConfig.TemplatesXmlPath = ""; // 模版的XML文件位置   
  71. FCKConfig.SpellChecker = "ieSpell/Spellerpages"; // 拼写检查器   
  72. FCKConfig.IeSpellDownloadUrl = ""; // 下载拼写检查器的网址   
  73. FCKConfigFCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/'; // 表情文件存放路径   
  74. FCKConfig.SmileyImages = ''; // 表情文件名称列表,具体参考默认设置   
  75. FCKConfig.SmileyColumns = 8; // 表情窗口显示表情列数   
  76. FCKConfig.SmileyWindowWidth = 320; // 表情窗口显示宽度,此窗口会因为表情文件的改变而作调整   
  77. FCKConfig.SmileyWindowHeight = 240; // 表情窗口显示高度,此窗口会因为表情文件的改变而作调整   
  78. FCKConfig.FullPage = true/false; // 是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容   
  79.   
  80.   
  81. 上传设置   
  82.   
  83. var _FileBrowserLanguage          = 'php' ;          // asp | aspx | cfm | lasso | perl | php | py      
  84. var _QuickUploadLanguage          = 'php' ;          // asp | aspx | cfm | lasso | php[/code]   
  85. //第一个是文件浏览器使用的语言,第二个快速上传使用的语言,改成你需要的   
  86. FCKConfig.LinkUploadAllowedExtensions          = "" ;                          // empty for all   
  87. FCKConfig.LinkUploadDeniedExtensions =".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$"  
  88. //这是两个允许和拒绝上传的文件类型列表   
  89. FCKConfig.ImageBrowser = false ;是否在插入图片功能里面启用服务器文件浏览功能   
  90. FCKConfigFCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=ImageConnector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;   
  91. Type=Image    表示文件类型是image这会使文件浏览器定位到文件上传路径/image/文件夹下面   
  92. FCKConfig.FlashBrowser = false ;是否在插入flash功能中启用服务器文件浏览功能   
  93. FCKConfig.LinkUpload = false ;是否启用插入链接的快速上传功能   
  94. FCKConfig.ImageUpload = false ;是否启用图片快速上传功能   
  95. FCKConfig.FlashUpload = false ;是否启用flash上传功能   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值