`
bo_hai
  • 浏览: 554492 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

FCKeditor 基于java servlet 的配置和 使用

 
阅读更多

大家都知道基于web的文本编辑器我们首先FCKEditor。因为它是免费的,使用方便。但是网络上介绍的FCK的使用方法都在JS中进行配置,这种方法不足之处是JS的兼容性不是很好。今天我给大家介绍使用servlet来配置FCKEditor,基于servlet 配置的FCKEditor可以很好的兼容不同的浏览器。下面是配置步骤。

1)先要找到需要的jar。jar的名称是:fckeditor-java-core-x.x.x.jar,可以通过maven或其他方式找到最新的jar 在这里我使用是fckeditor-java-core-2.4.1.jar。再到管方网站下载FCKEditor,把解压后的fckeditor文件夹copy到webContent下。

2)在web.xml配置servlet,在加web.xml中加入以下代码:

 

<servlet>
	<servlet-name>fckeditor</servlet-name>
	<servlet-class>
		net.fckeditor.connector.ConnectorServlet
	</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
 	<servlet-name>fckeditor</servlet-name>
 	<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>  

 

3)在要显示FCKeditor编辑器的页面加头部加入以下代码:

<%@ taglib uri="http://java.fckeditor.net" prefix="FCK"%>

 注:这是对FCK标签的配置。

4)在页面要显示编辑框的里面加入以下代码:

<DIV>
	<FCK:editor width="755" height="460" instanceName="holdProduct.productCname" value="${holdProduct.productCname}" >
		<FCK:config SkinPath="skins/office2003/" />
	</FCK:editor>
</DIV>

 

注:FCK:editor 中instanceName 的值要定义到struts2对象的属性,这里和定义其他name相同。value 属性的值是文本编辑器要显示的内容。

5)运行程序,打开编辑器页面,如下图:

 

6)实际的应用中,我们可以不需要这么多的工具菜单,有没有一种方法对工具栏进行配置呢 ? 答案是肯定的。在FCK:editor有一个属性 toolbarSet  ,用来指定我们要想的工具栏。再问toolbarSet 的值是多少呢 ?这个也可以fckeditor的js中找到答案。我们找到fckeditor目录下的fckconfig.js文件,打开文件并搜索“Default”,你们找到了吗 ?如下图:



 默认的工具栏是:Default,下面还有一个Basic。我们试一下Basic 是个什么的工具栏。在FCK:editor的标签中加入 toolbarSet="Basic" 代码如下:

<DIV>
	<FCK:editor width="755" height="460" instanceName="holdProduct.productCname" value="${holdProduct.productCname}" toolbarSet="Basic">
		<FCK:config SkinPath="skins/office2003/" />
	</FCK:editor>
</DIV>

 

7)再次运行程度,打开编辑器页面,发现工具栏变了,如下图:

 

 看来我们的配置生效了。我们也可以自己定义 工具栏。方法是:在fckconfig.js 加入以下代码:

FCKConfig.ToolbarSets["Bbs"] = [
	['Source','Save','Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
] ;

 

我们自定义的工具栏取名叫:Bbs。加入两个新功能按钮 'Source','Save',然后修改toolbasSet 的值,运行程序,如下图:

 

 可见我们的配置是正确的。

8)如果要加在JS代码获取文本编辑器中的内容,有办法吗 ? 答案是肯定的。先在页面上引入要用到的JS文件:代码如下:

<script type="text/javascript" src="<%=basePath%>js/fckeditor.js"></script>

在页面定义两个按钮,代码如下:

<button onclick="JavaScript:getFCKeditorInfo()">获取FCKEditro内容</button>
<BR/>		
<button onclick="JavaScript:setFCKeditorInfo()">设置FCKEditro内容</button>

 对应的JS代码如下:

function getFCKeditorInfo() {
	alert(getFCKEditorTextContent('holdProduct.productCname'));
}

function setFCKeditorInfo() {
	setFCKEditorTextContent('holdProduct.productCname','我是fckeditor,你好吗?');
}

/**
 * 获取FCKEeditor控件中的文字内容
 * 
 * @param fckEditorName
 *            FCKEditor 实例的名字
 */
function getFCKEditorTextContent(instanceName) {
	var oEditor = FCKeditorAPI.GetInstance(instanceName);
	return(oEditor.GetXHTML());
}

/**
 * 设置FCKEditor控件中的文字内容
 * 
 * @param fckEditorName
 *            FCKEditor 实例的名字
 * @param contentStr
 *            要设置的内容
 */
function setFCKEditorTextContent(instanceName, contentStr) {
	var oEditor = FCKeditorAPI.GetInstance(instanceName);
	oEditor.SetHTML(contentStr);
}

 经过测试,JS代码生效。 

 

  • 大小: 22 KB
  • 大小: 12.2 KB
  • 大小: 4.7 KB
  • 大小: 3.5 KB
1
1
分享到:
评论
2 楼 bo_hai 2012-12-17  
yming 写道
2.X.X版本的在最新版FF下会出现得到FCKeditorAPI实例的JS错误。要换3.X

你说的这个问题我们前些日子遇到过。不过呢,我这个版本是可以正常运行的。我测试通过,谢谢!
1 楼 yming 2012-12-17  
2.X.X版本的在最新版FF下会出现得到FCKeditorAPI实例的JS错误。要换3.X

相关推荐

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java开源包8

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包4

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包101

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包11

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包6

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包9

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包5

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包10

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包1

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包3

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包2

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    java开源包7

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

    Java资源包01

    j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...

Global site tag (gtag.js) - Google Analytics