1. 程式人生 > >springMVC ueditor傻瓜配置系列之不成功你砍我!

springMVC ueditor傻瓜配置系列之不成功你砍我!

前幾日在專案中要使用到編輯器,於是度娘看了幾款前端編輯器,

最後...選擇了百度開發的ueditor編輯器,這可能是我最後悔的決定!

因為ueditor的文件寫的實在是太他媽爛了!跟屎一樣!尤其是後端配置!

不信你們看看他們官方文件!Ueditor

不信你按照他們官方文件配置後端!

我在網上看了好多資料都不怎麼對,最後我摸索了好幾個小時終於配置成功!

一、下載ueditor

下面進入正題,首先下載ueditor,我下載的是[1.4.3.3 Jsp 版本] 官方下載 本站下載(較慢)

下載後開啟壓縮包觀察目錄結構:

我們用到的主要是ueditor.config.js,以及jsp/config.json,jsp/lib下的包!

首先展示我的檔案結構目錄,以防大家看暈!

二、前端配置

首先我們寫前端頁面

1.在要放編輯器的div或其他標籤內插入下面這條語句,該語句為編輯器視窗

<script id="editor" name="message" style="height: 500px" type="text/plain"></script>

2.根據自己的路徑匯入js,

注意路徑,因為我習慣使用相對路徑,我的所有controller都沒有目錄結構(如@RequestMapping("login.naah")),所以預設從根目錄讀取!

getEditor中的值要與上文中的id對應!

<!-- 配置檔案 -->
<script type="text/javascript" charset="utf-8" src="lib/ueditor/ueditor.config.js"></script>
<!-- 編輯器原始碼檔案 -->
<script type="text/javascript" charset="utf-8" src="lib/ueditor/ueditor.all.js"></script>
<script>var ue = UE.getEditor('editor');</script
>

此時如果js路徑正確的話,開啟網頁已經可以看到編輯器頁面了,如下圖所示:

3.在ueditor.config.js中可根據註釋設定編輯器的介面。

三、後端配置

剛剛配置前端後,當你點選圖片附件等時會提示,後端配置不正確,無法使用該功能,

那就繼續往下看吧!

(1)配置上傳功能

1.首先我們根據jsp目錄下的controller.jsp寫出對應的springMVC的controller,該類主要是實現讀取config配置並且上傳那檔案圖片等功能,

這個RequestMapping的目錄一定要和你的ueditor目錄對應,否則無法解析config.json

@RequestMapping("lib/ueditor/ued.naah")
	public void config(HttpServletRequest request,HttpServletResponse response)
	{

		response.setContentType("application/json");
		String rootPath = request.getSession().getServletContext().getRealPath("/");

		try
		{
			String exec = new ActionEnter(request, rootPath).exec();
			Files a = (Files) request.getSession().getAttribute("file");
			if (a != null)
			{
				f.Ins(a);
				request.getSession().removeAttribute("file");
			}
			PrintWriter writer = response.getWriter();
			writer.write(exec);
			writer.flush();
			writer.close();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}

	}

2.將jsp/lib下的jar包匯入web-inf/lib,將jsp/config.json複製到ueditor下,然後可以選擇性刪除jsp資料夾

3.開啟ueditor.config.js,對serverUrl進行修改,

我的RequestMapping為lib/ueditor/ued.naah,

因為URL為ueditor的目錄,所以我們將RequestMapping中的目錄去掉,

改為URL+'ued.naah'

serverUrl: URL + "ued.naah"

(2)配置圖片顯示(檔案等其他配置方式相同)

經過配置後我們會發現此時開啟圖片已經可以上傳圖片了,但是可能上傳後無法顯示圖片,那麼繼續向下看

1.此時開啟剛剛已經轉移到ueditor下的config.json

2.在上傳圖片配置項中修改引數imageUrlPrefix(圖片訪問路徑字首)

如果此時除錯執行包含專案名的話,可能如下

這個時候要將imageUrlPrefix設定為/+專案名 如下:

 "imageUrlPrefix": "/police", /* 圖片訪問路徑字首 */

如果執行不包含專案名的話,配置如下:

 "imageUrlPrefix": "/", /* 圖片訪問路徑字首 */

3.檔案上傳目錄可根據實際需求更改(檔案上傳後,腦子短路的我在eclipse內找圖片找不到,後來才反應過來應該在tomcat的部署目錄下)

"imagePathFormat": "/files/images/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上傳儲存路徑,可以自定義儲存路徑和檔名格式 */

其他相對應的配置字首同樣如此配置。。。

(3)ueditor與multipartResolver配置衝突解決方案

在配置成功ueditor後,如果使用表單上傳檔案或者使用ajax非同步傳送檔案返回url等操作,

會上傳失敗,下面提出解決方案:

1.在檔案中建立該類

2.將url.contains("")中的值改為上文中我們建立的ueditor config讀取類的RequestMapping的值

代表當遇到url為RequestMapping的檔案則不攔截到multipartResolver中

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.commons.CommonsMultipartResolver;

public class CommonsMultipartResolverPhhc extends CommonsMultipartResolver
{
	@Override
	public boolean isMultipart(HttpServletRequest request)
	{
		String url = request.getRequestURI();
		if (url != null && url.contains("lib/ueditor/ued.naah"))
		{
			return false;
		}
		else
		{
			return super.isMultipart(request);
		}
	}
}

3.在springMVC.xml中配置bean

這個class路徑就是上文中寫的CommonsMultipartResolverPhhc類的路徑

<bean id="multipartResolver" class="com.naah.tools.CommonsMultipartResolverPhhc">  
    <property name="maxUploadSize" value="102400000" />  
</bean>

4.這個時候就可以成功的將ueditor與multipartResolver分離了

快試試效果怎麼樣吧!

ueditor系列文章未完待續!

相關推薦

springMVC ueditor傻瓜配置系列成功

前幾日在專案中要使用到編輯器,於是度娘看了幾款前端編輯器, 最後...選擇了百度開發的ueditor編輯器,這可能是我最後悔的決定! 因為ueditor的文件寫的實在是太他媽爛了!跟屎一樣!尤其是後端配置! 不信你們看看他們官方文件!Ueditor 不信你按照他們

簡單詳細講解js閉包(看完

  《javascript高階程式設計》中閉包的概念:     閉包,其實是一種語言特性,它是指的是程式設計語言中,允許將函式看作物件,然後能像在物件中的操作般在函式中定義例項(區域性)變數,而這些變數能在函式中儲存到函式的例項物件銷燬為止,其它程式碼塊能通過某種方式獲取這些例項(區域性)變數的值並進行應用擴

關於函數getline()(簡單註意事項,

為什麽 你在 進行 ios 二次 mce cond ont esp 關於getline()函數好使但是有毒; 有兩種操作需要進行特殊處理: First: #include <iostream>#include <cstring>#include &

3秒鐘:RecyclerView下拉重新整理和上拉載入更多(開源中國List業務流程全解析)

這裡以開源中國開源資訊頁面為例子。 這個頁面資料的url:http://www.oschina.net/action/apiv2/news?pageToken= 是這樣的 json資料的結構: NewsBean返回成功與否的code和msg。 ResultBean返回的

最簡單的安卓接入微信支付教程,簡單

    安卓接入微信支付最簡單的教程,看完不會你打我! 接入微信支付呢,你首先得有個微信支付的商戶端賬戶。這個賬戶一般你公司會提供給你的,一般是財務註冊的,當然如果你們家的財務沒有註冊的話你可以教她怎麼註冊。順便泡泡妞(財務一般都是女的吧)。註冊連結點這裡 https://

spring配置DataSource引數成功

<property name="url"> <value>jdbc:mysql://localhost:3306/cims?useUnicode=true&amp;characterEncoding=utf-8</value> </property>

maven 安裝配置環境變數成功,命令報是內部或外部命令異常

問題: maven配置,新建MAVEN_HOME新增maven路徑,將%MAVEN_HOME%\bin加入path中,然而在dos檢視時報'不是內部或外部命令異常',環境變數配置不成功 解決方法:刪掉MAVEN_HOME,編輯環境變數path,將%MAVEN_HOME%\bin,改為E:\Jav

環境配置系列 SQL Server 2008 R2

1. SQL SERVER 2008 R2 序列號 =============================================================================== 企業版:R88PF-GMCFT-KM2KR-4R7GB-43

Redis主從複製和叢集配置系列六(redis叢集節點新增、刪除、重新分配slot實戰)

下面操作都在同臺機子server1 192.168.1.198上操作2、檢視現有節點[[email protected] ~]# cd /usr/local/redis-3.0.6/src/[[email protected] src]# redis-c

J2EE for SpringMVC 對映靜態資源獨Js成功的問題解決

剛才博主遇到一個很頭大的問題,靜態資源映射了,路徑語法啥的都沒問題而css和img又能夠對映成功,能夠正常讀取,經過反覆檢查,博主發現是版本跟不上了。 看看博主的配置先: <beans xmlns="http://www.springframe

經典算法系列死神兔

Fibonacci為1200年代的歐洲數學家,在他的著作中曾經提到:「若有一隻免子每個月生一隻小免子,一個月後小免子也開始生產。起初只有一隻免子,一個月後就有兩隻免子,二個月後有三隻免子,三個月後有五隻免子(小免子投入生產)......。 這就是著名的不死神兔問題,即Fib

IDEA下maven編譯打包Java專案成jar包但是resource下配置檔案打包成功

今天在IDEA下打包一個Java專案,準備打包成jar包直接執行,打包之後執行時候一直提示resource下資原始檔找不到,但我又確實配置了的,而且在IDEA上可以執行,但是打包成jar包之後就執行不了了。 後來百度,發現對於resource下檔案(prope

新手網站建設優化,這些網站為提供數盡的免費素材(3)

當我們學會建設網頁,網站後。我們就開始裝設屬於自己的世界。在日常學習,工作中,我們沒有足夠的時間讓去原創素材,所以,素材網站就為我們解決了很多燃眉之急。那即使素材網站千千萬,要找到合適的素材。 今天就來分享一下自己用過的一些素材網站。網站有常見網站,也有一些小資網站,我獵奇心理比較重,只

sock5系列簡單測試sock5 連通性(二)

先說一個感念性的名詞---TPC半連結(TPC的三次握手) 在TCP/IP協議中,TCP協議提供可靠的連線服務,採用三次握手建立一個連線。  第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;第二次握手:伺服器收到

gethostbyname()成功的可能原因

本文摘自:http://blog.163.com/[email protected]/blog/static/4243883720091025102830596/          gethostbyname()使用該函式可以將一個伺服器的域名轉化成該伺服器的I

Hibernate3自動建表總有一張建立成功問題及其解決

所涉物件 四個持久化物件(User、ServicePrudoct、State、Order),四張表(user、service_product、state、order)。 物件間關係 前三者和Order之間均存在一對多(one-to-many)關係,每個的對映檔案中均有一

超簡單 springboot2.0中 單機 quartz yml檔案配置 持久化到資料庫 看完

建立表 可到官網下載原始碼 解壓之後。在docs\dbTables檔案下選擇自己所需要的slq檔案。下載地址 新增引用 <!--quartz--> <dependency> &l

這特麼是啥系列----HSF求求別秀了

如何釋出HSF服務感覺這個hsf需要pandora環境,所以...先導依賴<dependencyManagement> <dependencies> <dependency> <!--

乾貨系列手把手教使用Core animation 做動畫

原始碼下載:原始碼 最近在技術群裡,有人發了一張帶有動畫效果的圖片。覺得很有意思,便動手實現了一下。在這篇文章中你將會學到Core Animation顯式動畫中的關鍵幀動畫、組合動畫、CABasicAnimation動畫。先上一張原圖的動畫效果。 本文要實現的效果圖如下:  

Go語言系列手把手教擼一個ORM(一)

專案地址:[https://github.com/yoyofxteam/yoyodata]() 歡迎星星,感謝 前言:最近在學習Go語言,就出於學習目的手擼個小架子,歡迎提出寶貴意見,專案使用Mysql資料庫進行開發 我們還使用Go遵循ASP.NET Core的設計理念開發出了對應的Web框架:[https