百度ueditor与spring mvc结合应做的修改.

在使用百度ueditor 作为富文本编辑器时,java 版本默认提供了一个controller.jsp 用来上传,如果要求不高,采用这种方式,确实可以。但如果与spring mvc 结合,并且配置了spring mvc 的拦截路径等情况下,这样做很不好,而且也不是统一的spring mvc  的风格,所以得有所改变. 也就是自己要重新写一个spring mvc 的controller.

我在项目中是采用如下方式写的这个controller , 用起来还不错。



程序代码 程序代码

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.baidu.ueditor.ActionEnter;


@Controller
@RequestMapping(value = "/ueditor")
public class UeditorController {

        @RequestMapping("/dispatch")
        public void config(HttpServletRequest request,  HttpServletResponse response, String action) {
                response.setContentType("application/json");              
                String rootPath = request.getSession().getServletContext().getRealPath("/");

                try {
                        String exec = new ActionEnter(request, rootPath).exec();
                        PrintWriter writer = response.getWriter();
                        writer.write(exec);
                        writer.flush();
                        writer.close();
                } catch (IOException e) {
                        e.printStackTrace();
                }
                
        }

}

如果你有安全性检测,比如session 检测的,可以自己在里面加入代码,但一般都通过拦截器处理了,可以不在这里处理。

这样做了之后,在需要引入 ueditor 的页面,我们加入一个全局的javascript 变量:
程序代码 程序代码

<script>window.PROJECT_CONTEXT = "${ctx}/";</script>
    <script type="text/javascript" charset="utf-8" src="${ctx }/static/js/ueditor/ueditor.config.js"></script>
    <script type="text/javascript" charset="utf-8" src="${ctx }/static/js/ueditor/ueditor.all.min.js"> </script>  
    <script type="text/javascript" charset="utf-8" src="${ctx }/static/js/ueditor/lang/zh-cn/zh-cn.js"></script>
    <script type="text/javascript" charset="utf-8" src="${ctx }/static/js/ueditor/ueditor.parse.min.js"> </script>


当然,还需要修改一个很重要的文件:ueditor.config.js , 也就是修改上传的路径:
程序代码 程序代码

window.UEDITOR_CONFIG = {

        //为编辑器实例添加一个路径,这个不能被注释
        UEDITOR_HOME_URL: URL

        // 服务器统一请求接口路径
        , serverUrl: window.PROJECT_CONTEXT + "ueditor/dispatch"
        

主要修改的就是serverUrl。

另外百度ueditor 是开源的,对于config.json 的路径等问题,完全还可以把源代码下载下来,自己跟踪修改,这样对于上传路径的问题,就不会那么纠结了。而且安全性也高,否则人家直接可以下载下来看。比如在我的项目中,我修改了路径:
ConfigManager 这个类:
程序代码 程序代码

private String getConfigPath () {
        //return this.parentPath + File.separator + ConfigManager.configFileName;
        //I modify this, because it is not suit for our porject.
        return this.rootPath +  File.separator + "WEB-INF" + File.separator + "classes" +  File.separator + ConfigManager.configFileName;
    }

这是根据我项目的情况修改的,有源代码了,其他修改更容易。关键是打造出满足自己项目的东西才行.



除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 6 | 引用: 0 | 查看次数: -
回复回复絮落锦乡[2017-09-10 08:59 PM | del]
你好,我看了一下,你说的,但是呢?这样配置了还是依旧有问题,后端配置有问题,能不能烦扰你帮忙:275300091
回复回复wwww[2016-01-20 11:14 AM | del]
提示:请求后台配置项http错误,上传功能将不能正常使用! 怎么办?
回复回复ctxctx[2015-12-16 05:11 PM | del]
ctx  在哪里配置的
回复回复呵呵[2015-12-06 09:28 PM | del]
你这样能读到config.json的内容?!
回复回复求学路[2015-10-13 03:07 PM | del]
没能成功啊 大神 1808158902 能交流一下么
回复回复初学者[2015-07-27 08:41 AM | del]
请问你有spring mvc中使用Ueditor插件的源码吗
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.