JSF中将CKeditor换位Ueditor的辛酸历程

    最近由于项目须要,一直在弄JSF。如今需求是,将PrimeFaces带的CKeditor换成Ueditor。本人水货一枚,不会写扩展,只能用Jquery基础替换。不知道和您的项目是否符合,仅供参考,高手请指导!!jquery

    原来项目中使用ckeditor时,用的primefaces扩展标签。例以下面的代码。我不清楚其余的JSF是不是这么用的。ide

    这里我总结了三种替换方式,仅供参考。最后一种是针对p:dialog里面替换的。ip

   方式1、利用jquery的next()方法找到隐藏域。在script标签后放置一个隐藏域。隐藏域对应托管Bean的属性。提交表单时,将ueditor的值给了隐藏域。get

      

 利用jquery的next()方法找到隐藏域。这个getUeditorValues()是那个具体提交表单的按钮的onclick绑定的。input

 

 

方式2、利用class选择器找到隐藏域。这种方法跟方式一相似。在其余页面中,发现隐藏域并不能经过next()方法找到,它最后的页面竟然是表格。h:inputHidden是没有styleClass的,因此我用h:inputText 替换,并设置display:none;it

 

页面末尾放隐藏域。之因此放末尾是由于,上面最后成表格了。class

js部分稍有变化基础

 

 

方式3、针对p:dialog。这个太奇怪了。每次打开时,都须要从新建立ueditor,关闭时销毁。不信的话能够本身试试其余方法,我是没有试出来。须要注意的是第一次打开能够显示,第二次打开就不显示了。就这个问题卡了两天。不知道大家的情景和个人是否同样。仅供参考。cli

 

在dialog页面中:扩展

 一、onHide绑定销毁Ueditor的方法

 二、script 标签占位、隐藏域这些不变

 三、提交时将ueditor的内容给了隐藏域

 

在嵌入dialog的页面。onstart显示对话框,  oncomplete 初始化ueditor

 

 

 

 

相关文章
相关标签/搜索