`
free_kingdom
  • 浏览: 42998 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ckeditor在struts2下添加自定义按钮

阅读更多

ckeditor的插入图片和flash和我的需求相去甚远,所以我想做个按钮调用自己的插入图片页面。

相关js代码如下:

 

function initEditor(theName, theWidth, theHeight){
 var editor = CKEDITOR.replace(theName, {
  language : 'zh-cn',
  skin : 'office2003',
  startupFocus : true,
  removePlugins : 'elementspath',
  width : theWidth,
  height : theHeight,
  //resize_enabled : false,
  resize_maxHeight : 600,
  resize_maxWidth : 1000,
  toolbar : [ 
    ['Save','-','Preview','-','Templates'],
    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'], 
	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], 
	'/', 
	['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], 
	['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], 
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], 
	['Link','Unlink','Anchor'], 
	['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar', 'PageBreak'], 
	'/', 
	['Styles','Format','Font','FontSize'], 
	['TextColor','BGColor'], 
	['Maximize','ShowBlocks','-','About','-','MyButton'] 
  ]
 });
 
 addMyBytton(editor);
}

function addMyBytton(editor){
	 editor.on('pluginsLoaded', function( ev ){
		 editor.addCommand( 'insertSth', {
			exec:function (e){
				var returnValue = window.showModalDialog('mine/initAction.action?myWord=hello');
				
				CKEDITOR.instances.editor.insertHtml(returnValue);
			}
		 } );
			
		editor.ui.addButton('MyButton',
			{
				label : editor.lang.mine,
				icon : 'image',
				command : 'insertSth'
			});
	 });
}

 

 

initEditor里主要是加载编辑器并配置一些参数,配置参数可以去查询ckeditor的api文档。

addMyButton是生成了一个按钮,并定义了这个按钮触发的事件,就是用模式窗口打开一个页面,把返回值插入到编辑器里就ok了。而把按钮显示在工具条上是在initEditor中设置toolbar属性时指定的。

需要注意的是,弹出的页面里如果有提交表单的操作,返回页面会在一个新窗口中打开,为了避免这种情况最好使用Ajax提交。当然因为我的页面有文件上传所以没办法用Ajax提交表单,所以我用的是iframe来处理的。

以上代码放到一个单独的js文件中,在编辑器页面的onload中调用initEditor方法就可以了。当然也可以用开发插件的方式把内容放到ckeditor的plugins目录下,这样的好处是不会把自己的代码和ckeditor的代码混到一起,方便以后升级ckeditor,当然如果是商业开发这样也更容易根据代码算钱。

分享到:
评论

相关推荐

    struts2整合CKEditor

    8. **样式与交互**:根据需求,可能还需要自定义CKEditor的样式和交互,例如修改按钮样式,添加预览功能,或者调整编辑器的宽度和高度。 9. **测试与调试**:整合完成后,通过浏览器进行测试,确保CKEditor能正常...

    在线文本编辑器ckeditor3.6.2 for JAVA

    4. 可定制性:允许开发者根据项目需求自定义编辑器的外观和行为,包括改变皮肤、禁用某些功能或添加自定义按钮。 5. 国际化支持:内置多语言包,方便不同地区的用户使用。 6. API接口:提供了JavaScript API,允许...

    CkEditor+ckfinder配套使用

    在Java环境下,CkEditor和ckfinder的集成可以为开发者带来诸多便利。首先,CkEditor提供了丰富的API,支持自定义配置,使得编辑器能够满足各种定制需求,例如调整字体大小、颜色,添加链接,甚至插入表格和多媒体...

    JSP中应用CKEditor在线编辑器

    在`head`部分添加如下代码: ```html 路径/ckeditor/ckeditor.js"> ``` 确保路径正确指向了你解压后的`ckeditor.js`文件。 4. **创建CKEditor实例** 在需要使用编辑器的地方,用`<textarea>`标签定义一个...

    ckeditor+ckfinder

    在描述中提到的例子是一个基于JSP的集成示例,这意味着开发者已经实现了CKFinder与CKEditor在Java环境下的集成。对于Java开发者来说,需要熟悉Servlet、JSP以及可能涉及的Spring MVC或Struts等框架来完成这个过程。 ...

    fck2.4编辑器,Java版本

    Fck2.4编辑器的这一特性确保了在Struts2环境下,用户可以正常上传和显示图片,无需额外进行复杂的配置或调试。 压缩包内的“fck编辑器使用示例”文件很可能是包含了一组示例代码或者一个演示项目,用于指导开发者...

    java web 富文本框

    富文本框在Java Web中的实现通常涉及JavaScript库(如TinyMCE, CKEditor)与后端服务器(如Spring MVC, Struts2)的交互。这些库通常提供一个JavaScript接口,用于在前端创建和管理富文本编辑器,并通过AJAX将内容...

    有关fckeditor的jar包

    在实际项目中,FCKeditor可能与Spring MVC、Struts2等框架结合使用,通过Action或Controller处理来自FCKeditor的请求。此外,还可以利用FCKeditor的API实现自定义功能,如自定义工具栏按钮、扩展编辑器功能等。 ...

    jsp版ewebeditor 内涵自己总结的错误修改方法

    - EWebEditor允许自定义按钮和功能,如果在实现自定义功能时出现问题,检查相关JavaScript代码是否正确触发事件和调用服务器接口。 - 在`custom.js`中定义自定义方法,并确保它在EWebEditor初始化后执行。 7. **...

    java fckeditor所需jar包

    - **自定义工具栏**:根据需求可以定制编辑器的工具栏,选择显示哪些功能按钮。 4. **安全性考虑** - **文件上传安全**:确保对上传文件进行类型检查和大小限制,防止恶意文件上传。 - **XSS防护**:由于编辑的...

    FCKeditor例题

    2. **Java集成**:在Java应用中,通常通过Servlet或者Struts、Spring MVC等MVC框架来与FCKeditor交互。FCKeditor会将用户的编辑内容作为POST请求发送到服务器,服务器端的Java代码则负责处理这些请求,如保存内容、...

    JSP在线编辑器

    Java类文件可能是自定义的,也可能依赖于已有的框架,如Spring MVC或Struts。 3. **HTML/CSS/JavaScript文件**:构成编辑器用户界面的主要元素,HTML文件定义了布局和结构,CSS文件用于样式控制,而JavaScript文件...

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

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

Global site tag (gtag.js) - Google Analytics