最近由于项目须要,一直在弄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