项目中使用fckeditor的一点总结

    项目使用中,需要用到文本编辑功能,于是就很自然的想到了fckeditor。google一下,发现已经升级到ckeditor了。下载之后,发现是我想要的那种效果,(原因是fckeditor以前的版本无论是上传图片还是其他操作,只要是弹出fckdialog.html页面,就会包含页面具体地址),而且界面也做得很好看。可是下载时发现,竟然没有jsp版的,无奈发了封email给官方,第二天收到邮件说是支持的,但是没有匹配的ckfinder,很遗憾,不能上传图片了(到现在还没找到好的办法),只好又换回fckeditor2.3了。

    扯淡了这么多,该进入正题了。

    1:需要将两个包加入到web项目中commons-fileupload.jar和FCKeditor-2.3.jar,web-inf下加入FCKeditor.tld;

    2:将fckeditor的解压后文件,FCKeditor文件拷到webRoot下,可考虑瘦身一下;

    3:在web.xml中加入如下片段:

<!-- FCKEditor配置 -->
	<servlet>
		<servlet-name>Connector</servlet-name>
		<servlet-class>
			com.fredck.FCKeditor.connector.ConnectorServlet
		</servlet-class>
		<init-param>
			<param-name>baseDir</param-name>
			<param-value>/UserFiles/</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet>
		<servlet-name>SimpleUploader</servlet-name>
		<servlet-class>
			com.fredck.FCKeditor.uploader.SimpleUploaderServlet
		</servlet-class>
		<init-param>
			<param-name>baseDir</param-name>
			<param-value>/UserFiles/</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>enabled</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>AllowedExtensionsFile</param-name>
			<param-value></param-value>
		</init-param>
		<init-param>
			<param-name>DeniedExtensionsFile</param-name>
			<param-value>
				php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi
			</param-value>
		</init-param>
		<init-param>
			<param-name>AllowedExtensionsImage</param-name>
			<param-value>jpg|gif|jpeg|png|bmp</param-value>
		</init-param>
		<init-param>
			<param-name>DeniedExtensionsImage</param-name>
			<param-value></param-value>
		</init-param>
		<init-param>
			<param-name>AllowedExtensionsFlash</param-name>
			<param-value>swf|fla</param-value>
		</init-param>
		<init-param>
			<param-name>DeniedExtensionsFlash</param-name>
			<param-value></param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>Connector</servlet-name>
		<url-pattern>
			/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector
		</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SimpleUploader</servlet-name>
		<url-pattern>
			/fckeditor/editor/filemanager/upload/simpleuploader
		</url-pattern>
	</servlet-mapping>
	<!-- 结束 -->

 

   OK,配置完成了。

   现在如果要使用,在相应的jsp页面中添加标签

<FCK:editor id="nr" width="100%" height="500" basePath="/项目名/fckeditor/"
       imageBrowserURL="/项目名/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" 
       linkBrowserURL="/项目名/fckeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" 
       flashBrowserURL="/项目名/fckeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" 
       imageUploadURL="/项目名/fckeditor/editor/filemanager/upload/simpleuploader?Type=Image" 
       linkUploadURL="/项目名/fckeditor/editor/filemanager/upload/simpleuploader?Type=File" 
       flashUploadURL="/项目名/fckeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
</FCK:editor>

   当然,事先要在jsp中添加标签引入

<%@ taglib uri="/WEB-INF/FCKeditor.tld" prefix="FCK" %>

   然后,后台只要request.get就能拿到了。

   配置问题就不啰嗦了,fckconfig.js搞定。项目需要,图片上传时只要预览和上传,那就改文件吧。在fck_image.js找到相应的tab设置,注释掉

function OnDialogTabChange( tabCode )
{
	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
//	ShowE('divLink'		, ( tabCode == 'Link' ) ) ;
	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
//	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
}

搞定!

    关于分页符的问题,可以做到真分页和假分页。

    真分页的话,没什么说的,建表,将内容按照

<div style=\"PAGE-BREAK-AFTER: always\"><span style=\"DISPLAY: none\">&nbsp;</span></div>

   截取后入库,显示的时候再按页去拿。

   我这里,小小偷懒一下,将内容分开后形成数组,按页显示数组的每个元素的值,只要传页码就ok。问题是只能是一种浏览器。因为在ff下,分页符为

<div style=\"PAGE-BREAK-AFTER: always\"><span style=\"DISPLAY: none;\">&nbsp;</span></div>

多了个";"号,又因为项目美工只在ie下做的demo,没考虑浏览器的兼容性,所以ff我就不管了(反正ff连有些正常的页面都显示不出来)。

    不过还是很遗憾,关于地址栏的问题始终没有解决,期待中......   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值