记录一下使用百度Ueditor副编辑器的过程及碰到的问题

时间:2022-04-04 18:01:21

三周前,接手这个任务,因为当时手头有其他工作,就没着急做这个,周一的时候在后台newinfo 的内容栏添加上了Ueditor,当天就完成了文本到后台的保存。因为当时刚接触这个,再加上本人水平较渣,没看官方使用说明,直接就上手了。碰到问题就百度,众说纷纭,搞得我也是一头雾水。  再后来就做图片上传了,一百度,资料一大堆,但后来才发现他们都是因为使用struts2,为了避免走struts自身的fileupload而添加了过滤器。这是后来才知道的。。而我得到的上传代码如下

controller.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import="com.baidu.ueditor.ActionEnter"
    pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="s" uri="/struts-tags"%>

<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";


    request.setCharacterEncoding( "utf-8" );
	response.setHeader("Content-Type" , "text/html");
	
	String rootPath = application.getRealPath( "/" );
	
	String actionName = request.getParameter("action");
	
	if("uploadimage".equals(actionName)){
		String temp = "";
		//out.write(" {\"original\":\"demo.jpg\",\"name\":\"demo.jpg\",\"url\":\"ttt.jpg\",\"size\":\"99697\",\"type\":\".jpg\",\"state\":\"SUCCESS\"}	") ;	
		 
%>		
		<s:action namespace="/productinfo" name="uploadImg" executeResult="true"  />
		
<%		       
	
	}
	else{
		String s = new ActionEnter( request, rootPath ).exec();
		out.write(s) ;	
	}
		
%>

upload.java

    /**
     * 详情信息图片上传
     */
    public String uploadImg() throws Exception{

    	log.debug("");
    	//{"original":"demo.jpg","name":"demo.jpg","url":"\/server\/ueditor\/upload\/image\/demo.jpg","size":"99697","type":".jpg","state":"SUCCESS"}

    	String fileName = UUIDHexGenerator.getUUIDHex() +".jpg";
    	String pathFileName = getWebRootRealPath() + Constant.PRODUCT_DETAIL_IMGEDIR + fileName;
    	FileTool.saveFile(pathFileName, upfile);
    	uVO = new UploadImgVO();
    	uVO.setOriginal(upfileFileName);
    	uVO.setName(fileName);
    	uVO.setUrl(getWebBathPath() + "img/detail/" + fileName);
    	uVO.setSize(upfile.length()+"");
    	uVO.setType(".jpg");
    	uVO.setState("SUCCESS");
    	
    	JSONObject jsonObject = JSONObject.fromObject(uVO); 
    	msg = jsonObject.toString();
		return SUCCESS;
	}

这时候,我就一头雾水的改呀改,改呀改,最后改的它也不走后台的action了,添加了个过滤器,Ueditor自己就完成了。具体怎么实现的,我还不是很明白。

然后我就开始编辑内容框的内容,到后台获取,结果发现,后台通过 String myEditor = request.getParameter("myEditor");  获取到的居然是html代码,我早该想到的,但是。。。。。

然后又发现上传的东西可能包括文本,图片,附件,表情,等等,通过后台一个方法绝对是实现不了的,于是我就死心了。。已处于崩溃边缘。。。。又回到原始状态了,不能用过滤器,必须写个action,里面定义很多种方法分别处理图片上传,附件上传等等内容。晕啦  现在就到这步了,难道要把已经实现好的上传功能全部删除了,再修改吗??疯了,太费事了,关键是没思路啊   哪位知道,麻烦指点下   感激不尽!!!