對于FCK edit我嘗試了2種方式:
一種是jsp標簽導入 ,但我們寫的頁面是xhtml,標簽用不了,嘗試找資料去寫標簽,沒成功。
第二種是javascript 方式,這種方式我現在有個問題就是我在每個textarea寫一段js,還沒想到寫成工具調用,各位有時間可以想想。
現在說下具體的配置
1.
將FCKeditor_2.5.1解壓縮,目錄結構是 FCKeditor_2.5.1\fckeditor\editor
將目錄editor復制到項目的WebRoot下的fck里面(WebRoot里面建一個目錄 叫 fck ,名字隨你取),
將目錄fckeditor中的 fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml拷貝到 fck里面
然后將FCKeditor-2.3.zip(java)壓縮包中\web\WEB-INF\lib\目錄下的兩個jar文件拷到項目的\WEB-INF\ lib\目錄下。
把其中的src目錄下的FCKeditor.tld文件copy到工程的WEB-INF下面。
2. 配置web.xml文件,我直接貼我那個了:
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<!-- 此為文件瀏覽路徑 -->
<param-value>/UserFiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<!-- 此為文件上傳路徑,需要在WebRoot 目錄下新建 UserFiles 文件夾 -->
<!-- 根據文件的類型還需要新建相關的文件夾 Image、 Flash -->
<param-value>/UserFiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<!-- 此參數為是否開啟上傳功能 -->
<param-name>enabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFile</param-name>
<param-value></param-value>
</init-param>
<init-param>
<!-- 此參數為文件過濾,以下的文件類型都不可以上傳 -->
<param-name>DeniedExtensionsFile</param-name>
<param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsImage</param-name>
<param-value>jpg|gif|jpeg|png|bmp</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsImage</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFlash</param-name>
<param-value>swf|fla</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFlash</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/fck/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>/fck/editor/filemanager/upload/simpleuploader</url-pattern>
</servlet-mapping>
3.更改fckconfig.js
對應的六個URL等的值替換成以下內容:
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;
4.就到頁面了
先導入js, : <script type="text/javascript" src="#{adminAccountBean.contextPath}/fck/fckeditor.js"></script>
在對應的texarea 加上一段代碼,只要關注javascript 那段:
<td class="edit-value">
<h:inputTextarea id="description" styleClass="textbox" value="#{adminJobEditBean.jobRow.description}" />
<script type="text/javascript">
var oFCKeditor = new FCKeditor('jobForm:description') ; <!-- 參數為textarea名字 -->
oFCKeditor.BasePath = "#{adminAccountBean.contextPath}/fck/" ; <!-- fck路徑 -->
oFCKeditor.Height = 400;
oFCKeditor.ToolbarSet = "Default" ;
oFCKeditor.ReplaceTextarea();
</script>
</td>