JSF2.0应用FCKEditor

    技术2025-09-04  14

    FCKEditor作为一款功能强大的html editor,其利用随处可见。在JSF1.0中应用它,可以通过其taglib。但在JSF2.0中,页面代码使用了facelet,再用taglib比较繁琐。昨日摸索之后,找到一条捷径。以下按照步骤叙述。

    下载相关资源,并引用到JSF2.0工程。这些资源包括:FCKeditor_2.6.6.zip,fckeditor-java-2.6-bin.zip。解压之后,将fckeditor【某些文件可以精简,网上较多,此处不赘述】放到WebContent目录,并将lib【fckeditor-java-core-2.6.jar、commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、imageinfo-1.9.jar、slf4j-api-1.5.8.jar】引用进来。配置web.xml:<!-- servlet for fckeditor --> <servlet>  <servlet-name>Connector</servlet-name>  <servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>  <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>  <servlet-name>Connector</servlet-name>  <url-pattern>           /fckeditor/editor/filemanager/connectors/*       </url-pattern> </servlet-mapping> 可以开始写页面了。<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head> ... <mce:script type="text/javascript" src="fckeditor/fckeditor.js" mce_src="fckeditor/fckeditor.js"></mce:script> <mce:script type="text/javascript"><!-- function renderEditor() { var oFCKeditor = new FCKeditor('mailcontent') ; oFCKeditor.BasePath = "fckeditor/"; oFCKeditor.Height = 400; oFCKeditor.ToolbarSet = "MyTB"; oFCKeditor.ReplaceTextarea(); } function bconfirm(){ var oEditor = FCKeditorAPI.GetInstance("mailcontent"); var content = oEditor.GetXHTML(true); document.getElementById("sContent").value=content; if(content.trim().length==0){ alert("请输入邮件内容!"); return false; } return true; } // --></mce:script> </h:head> <h:body style="margin:0px; padding:10px; clear:both;" mce_style="margin:0px; padding:10px; clear:both;" οnlοad="renderEditor();"> <h:form prependId="false"> <h:inputHidden id="sContent" value="#{bmail.sContent}"/> <h:inputTextarea rows="5" id="mailcontent" style="width:100%"/> <h:commandButton value=" 发 送 " class="button" οnclick="return bconfirm();" action="#{bmail.action_sendSMS}" /> </h:form> </h:body> </html> ,这里要说明一下,oFCKeditor.ToolbarSet = "MyTB";是我自己在fckeditor/fckconfig.js定义的ToolBar,可以参考FCKConfig.ToolbarSets["Basic"]和FCKConfig.ToolbarSets["Default"]。
    最新回复(0)