最近由於項目須要,一直在弄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