1. 程式人生 > >java web專案中使用百度編輯器UEditor

java web專案中使用百度編輯器UEditor

寬為限 緊用功 工夫到 滯塞通

目錄結構

部署包解壓後的檔案目錄結構如下所示
這裡寫圖片描述
ueditor解壓後的目錄列表

dialogs: 彈出對話方塊對應的資源和JS檔案
lang: 編輯器國際化顯示的檔案
php或jsp或asp或net: 涉及到伺服器端操作的後臺檔案
themes: 樣式圖片和樣式檔案
third-party: 第三方外掛(包括程式碼高亮,原始碼編輯等元件)
ueditor.all.js: 開發版程式碼合併的結果,目錄下所有檔案的打包檔案
ueditor.all.min.js: ueditor.all.js檔案的壓縮版,建議在正式部署時採用
ueditor.config.js: 編輯器的配置檔案,建議和編輯器例項化頁面置於同一目錄
ueditor.parse.js: 編輯的內容顯示頁面引用,會自動載入表格、列表、程式碼高亮等樣式,具體看內容展示文件
ueditor.parse.min.js: ueditor.parse.js檔案的壓縮版,建議在內容展示頁正式部署時採用

引入資原始檔

<script type ="text/JavaScript"src="/admin/ueditor/ueditor.config.js"></script> 
<script type ="text/javascript"src="/admin/ueditor/ueditor.all.js"></script> 
<link rel =stylesheet href="/admin/ueditor/themes/default/css/ueditor.css">

將 jar包放到專案的 lib目錄下
這裡寫圖片描述

主體內容

<form
action ="/main/ueditor" method="post">
類別: <textarea name ="content" id="myEditor">這裡寫你的初始化內容</textarea> <script type="text/javascript"> // 設定UEditor根路徑 // window.UEDITOR_HOME_URL = "soluser/admin/ueditor/"; UE.getEditor('myEditor',{ // 這裡可以選擇自己需要的工具按鈕名稱
toolbars:[['fullscreen', ...]], // 預設的編輯區域高度和寬度 initialFrameHeight:500, initialFrameWidth:1100, //關閉elementPath elementPathEnabled:false // 更多其他引數,請參考ueditor.config.js中的配置項 })
</script> <input type="submit" value="提交" /> </form>

把容器放到form表單裡面,設定好要提交的路徑,它的內容是儲存到textarea裡的。js 通過UE.getEditor(a,b)這個方法載入編輯器主體,這裡有兩個引數 a 指定textarea 通過id指定。b 指定一些使用者自定義的配置,是一個數組,其中這裡的toolbars表示需要的工具按鈕名稱。前端頁面配置看這裡:http://fex.baidu.com/ueditor/#start-config

現在例子中後臺就一個傳遞作用,我這裡用的是spring mvc

/**
 * UEditor
 */

@RequestMapping(value = "/ueditor")
public String ueditorShow(HttpServletRequest request, HttpServletResponse response) {

    String attribute = request.getParameter("content");

    System.out.println(attribute);
    request.setAttribute("content", attribute);
    return "/show";
}

顯示頁面

</head>

<body>

    <br> 內容為:
    <br />
    <divid="showContent"> ${requestScope.content}
    </div>
</body>
</html>

啥也不需要,只需將傳遞過來的content 接住顯示出來就OK!

test !

編輯頁面
這裡寫圖片描述

顯示頁面
這裡寫圖片描述

遇到的問題

以上看是簡單,卻搞了我一上午。下面分享一下我遇到的問題吧 √
其實也就一個,就是圖片上傳了編輯器了不顯示,現在回想看看是個非常簡單的問題,認真看看文件就可解決的,but我還是自己除錯找到的。。。這裡寫圖片描述

dbug ing…
這裡寫圖片描述
發現問題:沒有專案名!!!

這裡請求圖片時報錯了!
這裡寫圖片描述

除錯後發現原來這裡要配置 返回路徑字首
這裡寫圖片描述

這裡寫圖片描述

嗯,這裡加上去了
這裡寫圖片描述

靠!問什麼會有兩專案名稱???
這裡寫圖片描述

後來發現是路徑問題, 在專案名稱前加了個 /
這裡寫圖片描述

這就OK了,圖片也可以獲取了,之前是 一直沒有專案名稱的
這裡寫圖片描述

OK!
這裡寫圖片描述

還有個問題

上傳圖片時開啟資料夾的延遲問題,點選上傳圖片彈窗開啟慢問題

解決:
針對多圖片上傳, 將/ueditor/dialogs/image/image.js 檔案下的以下程式碼

accept: {
             title: 'Images',
             extensions: acceptExtensions,
             mimeTypes: 'image/*'
         },

改為:

accept: {
             title: 'Images',
             extensions: acceptExtensions,
             mimeTypes: 'image/gif,image/jpeg,image/png,image/jpg,image/bmp'
         },

針對單圖片上傳, 將/ueditor/ueditor.all.js or /ueditor.all.min.js (根據自己引用的檔案來確定) 檔案下的以下程式碼

accept="image/*"

改為:

accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"

站在巨人的肩膀上