對於ueditor就不介紹了,網上一大把,直接言歸正傳,其主要問題是圖片等的上傳。javascript
開發環境:
css
myeclipse2014+tomcat7+spring3.1.1+hibernate4.1.4+struts2.1+ueditor1.4.3 jsp版html
備註:上述ssh環境其實就是MyEclipse2014自帶的。
java
新建web project,命名爲:news;搭建好ssh環境,從ueditor官網下載最新版:1.4.3 jsp版。web
在WebRoot下新建文件夾:ueditor,將下載解壓後的ueditor全部文件複製到此文件夾下,目錄結構如圖:spring
修改ueditor/jsp/config.json,如圖(請忽略亂碼註釋):apache
修改ueditor/ueditor.config.js,若是((請忽略亂碼註釋):json
將ueditor/jsp/lib下的全部Jar文件複製到news項目的WebRoot/WEB-INF/lib中;tomcat
在index.jsp中加載ueditor:
閉包
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.min.js"> </script> <!--建議手動加在語言,避免在ie下有時由於加載語言失敗致使編輯器加載失敗--> <!--這裏加載的語言文件會覆蓋你在配置項目裏添加的語言類型,好比你在配置項目裏配置的是英文,這裏加載的中文,那最後就是中文--> <script type="text/javascript" charset="utf-8" src="ueditor/lang/zh-cn/zh-cn.js"></script> <style type="text/css"> div { width: 100%; } </style> </head> <body> <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script> <script type="text/javascript"> //實例化編輯器 //建議使用工廠方法getEditor建立和引用編輯器實例,若是在某個閉包下引用該 編輯器,直接調用UE.getEditor('editor')就能拿到相關的實例 var ue = UE.getEditor('editor'); </script> </body>
重寫struts2的攔截器,若不重寫,將會出現沒法上傳圖片的狀況,重寫filter:UeditorFilter,代碼以下:
package news.filter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; public class UeditorFilter extends StrutsPrepareAndExecuteFilter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String url = request.getRequestURI(); if (url.endsWith("controller.jsp")) { chain.doFilter(req, res); } // 攔截使用默認的攔截 else { super.doFilter(req, res, chain); } } }
10.修改web.xml的strut2攔截器:
<filter> <filter-name>struts2</filter-name> <filter-class>news.filter.UeditorFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
11.此時,能run as能不能實現圖片上傳呢???顯然是不能的,由於用myeclipse搭建ssh的緣由,會出現包衝突:須要刪除以下jar文件:commons-io-1.3.2.jar;
還有個問題就是我開始用的是myeclipse tomcat7部署,用這個刪除jar文件比較麻煩,因此最好直接在tomcat7中部署。
說明:若是不進行9和10,那麼就會出現上傳出現錯誤。若是不進行11就會出現找不到上傳文件的狀況。
最終效果: