jsf 利用 fckeditor进行内容编辑和文件上传

 

一、fckeditor 基本解决中文乱码和可运行的更改程序可参考fangbiao23.iteye.com/admin/show/130831

二、fckeditor在jsf中使用的一些相关设置和修改

web.xml

xml 代码
  1. <!-- 在线编辑 -->  
  2.  <servlet>  
  3.  <servlet-name>Connector</servlet-name>  
  4.  <servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>  
  5.  <init-param>  
  6.   <param-name>baseDir</param-name>  
  7.   <param-value>/EpFbUserFiles/</param-value>  
  8.  </init-param>  
  9.  <init-param>  
  10.   <param-name>debug</param-name>  
  11.   <param-value>true</param-value>  
  12.  </init-param>  
  13.  <load-on-startup>1</load-on-startup>  
  14. </servlet>  
  15.   
  16. <servlet>  
  17.  <servlet-name>SimpleUploader</servlet-name>  
  18.  <servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>  
  19.  <init-param>  
  20.   <param-name>baseDir</param-name>  
  21.   <param-value>/EpFbUserFiles/</param-value>  
  22.  </init-param>  
  23.  <init-param>  
  24.   <param-name>debug</param-name>  
  25.   <param-value>true</param-value>  
  26.  </init-param>  
  27.  <init-param>  
  28.   <param-name>enabled</param-name>  
  29.   <param-value>true</param-value>  
  30.  </init-param>  
  31.  <init-param>  
  32.   <param-name>AllowedFileSize</param-name>  
  33.   <param-value>5242880</param-value>  
  34.  </init-param>  
  35.  <init-param>  
  36.   <param-name>AllowedExtensionsFile</param-name>  
  37.   <param-value></param-value>  
  38.  </init-param>  
  39.  <init-param>  
  40.   <param-name>DeniedExtensionsFile</param-name>  
  41.   <param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value>  
  42.  </init-param>  
  43.  <init-param>  
  44.   <param-name>AllowedImageSize</param-name>  
  45.   <param-value>5242880</param-value>  
  46.  </init-param>  
  47.  <init-param>  
  48.   <param-name>AllowedExtensionsImage</param-name>  
  49.   <param-value>jpg|gif|jpeg|pjpeg|png|bmp</param-value>  
  50.  </init-param>  
  51.  <init-param>  
  52.   <param-name>DeniedExtensionsImage</param-name>  
  53.   <param-value></param-value>  
  54.  </init-param>  
  55.  <init-param>  
  56.   <param-name>AllowedFlashSize</param-name>  
  57.   <param-value>5242880</param-value>  
  58.  </init-param>  
  59.  <init-param>  
  60.   <param-name>AllowedExtensionsFlash</param-name>  
  61.   <param-value>swf|fla</param-value>  
  62.  </init-param>  
  63.  <init-param>  
  64.   <param-name>DeniedExtensionsFlash</param-name>  
  65.   <param-value></param-value>  
  66.  </init-param>  
  67.  <load-on-startup>1</load-on-startup>  
  68. </servlet>  

 

xml 代码
  1. <servlet>  
  2.     <servlet-name>fckEitorUploadServlet</servlet-name>  
  3.     <servlet-class>ep.jsf.upload.FckEitorUploadServlet</servlet-class>  
  4.   </servlet>  
  5.      
  6.   <servlet-mapping>  
  7.     <servlet-name>fckEitorUploadServlet</servlet-name>  
  8.     <url-pattern>/fckEitorUploadServlet</url-pattern>  
  9.   </servlet-mapping>  
  10.        
  11.   <servlet-mapping>  
  12.     <servlet-name>Connector</servlet-name>  
  13.     <url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>  
  14.   </servlet-mapping>  
  15.      
  16.   <servlet-mapping>  
  17.     <servlet-name>SimpleUploader</servlet-name>  
  18.     <url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern>  
  19.   </servlet-mapping>    

upload.jsf

java 代码
  1. <script type="text/javascript">   
  2.     function FCKeditor_OnComplete( editorInstance )    
  3.     {    
  4.         editorInstance.Events.AttachEvent( 'OnBlur', onEditorBlur );   
  5.     }    
  6.        
  7.     function onEditorBlur(){    
  8.         var msgPath = '';   
  9.         var imgMsg = '';   
  10.         var imgs = FCKeditorAPI.GetInstance('EditorDefault').EditorDocument.body.all.tags("img");   
  11.         var j =0;   
  12.         for(var i=0; i < imgs.length; i++){    
  13.             imgMsg = imgs[i].src;   
  14.             imgMsg = imgMsg.substring(imgMsg.indexOf('eppj')-1);   
  15.                
  16.             if(imgMsg.indexOf('msn') == -1){   
  17.                 if(j==0)   
  18.                     msgPath = imgMsg;   
  19.                 else  
  20.                     msgPath = msgPath + '|'+ imgMsg;    
  21.                 j++;   
  22.             }   
  23.         }    
  24.         document.getElementById('fckEditorForm:inputContent').value = FCKeditorAPI.GetInstance('EditorDefault').EditorDocument.body.innerHTML;    
  25.             }   
  26. </script>   
  27.     <h:panelGroup>   
  28.                 <h:outputLabel for="inputContent" value="资讯内容"/>   
  29.                 <f:verbatim>   
  30.                 <FCK:editor id="EditorDefault" basePath="/eppj/FCKeditor/"  
  31.                     skinPath="/eppj/FCKeditor/editor/skins/office2003/"  
  32.                     toolbarSet="Usable"  
  33.                     imageBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"  
  34.                     linkBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"  
  35.                     flashBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"  
  36.                     imageUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"  
  37.                     linkUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"  
  38.                     flashUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash"  
  39.                     width="80%"    
  40.                     height="450">   
  41.                        
  42.                 </FCK:editor>   
  43.                 </f:verbatim>   
  44.                 <h:message for="inputContent"/>   
  45.             </h:panelGroup>   
  46.             <h:inputHidden id="inputContent" value="#{tradeBackManager.tdp.tradeContent}"> </h:inputHidden>  

editor.jsf

 

java 代码
  1. <h:panelGroup>   
  2.                 <h:outputLabel for="inputContent" value="资讯内容"/>   
  3.                 <f:verbatim>   
  4.                 <FCK:editor id="EditorDefault" basePath="/eppj/FCKeditor/"  
  5.                     skinPath="/eppj/FCKeditor/editor/skins/office2003/"  
  6.                     toolbarSet="Usable"  
  7.                     imageBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"  
  8.                     linkBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"  
  9.                     flashBrowserURL="/eppj/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"  
  10.                     imageUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"  
  11.                     linkUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"  
  12.                     flashUploadURL="/eppj/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash"  
  13.                     width="80%"    
  14.                     height="450" >   
  15.                     <%   
  16.                         FacesContext fcg = FacesContext.getCurrentInstance();   
  17.                         DtTradeBackManager dtfl = (DtTradeBackManager) fcg.getApplication().getVariableResolver().resolveVariable(fcg, "tradeBackManager");   
  18.                         out.print(dtfl.getTdp().getTradeContent());   
  19.                      %>   
  20.                 </FCK:editor>   
  21.                 </f:verbatim>   
  22.                 <h:message for="inputContent"/>   
  23.             </h:panelGroup>   
  24.             <h:inputText id="inputContent" value="#{tradeBackManager.tdp.tradeContent}"> </h:inputText>  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值