Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo utilizar el editor de texto enriquecido de Baidu en springmvc

Cómo utilizar el editor de texto enriquecido de Baidu en springmvc

Revisé mucha información relevante en Internet y la registré brevemente aquí para evitar problemas similares en el futuro.

Un método es modificar directamente el código fuente. Los pasos son los siguientes:

1. Escriba el controlador de la siguiente manera (esta interfaz es la ruta unificada para la interacción frontal y posterior). ueditor):

Paquete com.test.dcdp.controller;

Importar excepción Java.io.io;

Importar Java.io.printwriter;

Importar javax.servlet ..Baidu. UE editor acción ingresar;

@Controller

@RequestMapping("/ueditor ")

Clase pública UeditorController {

@RequestMapping("/dispatch ")

configuración pública vacía (solicitud de servlet http, HttpServletResponse){//response establece el tipo de contenido(" aplicación/JSON ". ); ruta raíz de la cadena = request.getsession(). getServletContext(). obtener ruta real("/"); respuesta. establecer encabezado("Tipo de contenido", "texto/html"); intente {

cadena a = solicitud uri(); p>string exec = nueva acción enter(solicitud, rootPath). ejecutivo(); escritor de PrintWriter = respuesta.

} captura (IOException e) {

e .printstacktrace()

}

}

}

2. Modifique el archivo de configuración de UEditor UE editor .js (especifique la dirección del servidor en segundo plano) de la siguiente manera:

var URL = ventana. Editor UE _ HOME _ URL | getUEBasePath();**

*Texto del elemento de configuración. Tenga en cuenta que la variable URL no se omite en ninguna configuración que involucre rutas aquí.

*/

Ventana. UEDITOR _ CONFIG = {

//Agrega una ruta a la instancia del editor, que no se puede anotar como UEDITOR_HOME_URL: URL.

//Ruta de la interfaz de solicitud unificada del servidor

, URL del servidor: URL+" PHP/controller. PHP "

Después de la modificación:

var getRootPath = function (){

//Obtener la URL actual

var curWwwPath = ubicación del documento href; >

var pathName = ventana . ubicación del documento . var pos = curWwwPath.indexOf(pathname);

//Obtener la dirección del host . substring( 0, pos); //Obtiene el nombre del proyecto con "/", como por ejemplo:/uicardprj.

var nombre del proyecto = nombre de ruta . subcadena (0, nombre de ruta. substr (1)). index of('/')+1); return(localhostPaht+nombre del proyecto);

}

//Obtener la ruta

var ruta de la aplicación = getroot ruta();

var URL = ventana. Editor UE _ HOME _ URL | getUEBasePath(); var serverURL = applicationPath

/**

*Texto del elemento de configuración. Tenga en cuenta que la variable URL no se omite en ninguna configuración que involucre rutas aquí.

*/

Ventana. UEDITOR _ CONFIG = {

//Agrega una ruta a la instancia del editor, que no se puede anotar como UEDITOR_HOME_URL: URL.

//Ruta de la interfaz de solicitud unificada del servidor

, URL del servidor: URL del servidor+"u editor/dispatch" 3. Modifique el código fuente ConfigManager.java de UEditor (especifique la ruta del archivo de configuración).

Antes de la modificación:

/*

* Cree el administrador de configuración a través de la ruta proporcionada, lo que requiere que el archivo config.properties exista en la ruta de dirección En el directorio */

administrador de configuración privada (ruta raíz de cadena, ruta contextual de cadena, uri de cadena) lanza FileNotFoundException, excepción io { ruta raíz = ruta raíz reemplazar(" \ \ ", "/"); this . ruta raíz = ruta raíz;

this . ruta de contexto = ruta de contexto;

if(ruta de contexto. longitud()>0 ) {

esta . ruta original = esta . ruta raíz + uri . subcadena (ruta de contexto . longitud());} else {

esta ruta raíz + uri . >}

este . initenv();

}

Después de la modificación:

/*

* Cree el administrador de configuración a través de la ruta proporcionada, lo que requiere que el archivo config.properties exista en el directorio donde se encuentra la ruta de la dirección*/

administrador de configuración privado (ruta raíz de cadena, ruta contextual de cadena, uri de cadena ) lanza FileNotFoundException, io excepción {ruta raíz = ruta raíz reemplazar(" \ \ ", "/"); p >

/* if(ruta de contexto. longitud()> 0) {

esta ruta original = esta. ruta raíz+uri (ruta de contexto. longitud());} De lo contrario, {

esta ruta original = esta. ruta raíz+uri;

}*/

esta ruta original = ruta raíz+"estático"+archivo. .separador+" lib "+archivo .separador+" u editor "+archivo .separador+" 1 . 4 . 3 "+archivo separador+" JSP "+archivo separador+" controlador .JSP ";///edw manager/src/main. /web app/static/lib/UE editor/1 . 4 3/JSP/controller . JSP initenv(); es modificar La ruta a la ruta original; de lo contrario, la ruta al archivo de configuración de ueditor (ueditor _ config.json) será incorrecta (cuando se integra con springMVC).

La razón por la que la ruta está empalmada de esta manera es porque los archivos relacionados con mi editor UE están copiados en (edw Manage/src/main/web app/static/lib/UE editor/1.

4. (Si no ejecuta este paso, después de seleccionar la imagen y hacer clic en cargar, aparecerá el mensaje: "No se encontró el archivo cargado"). Debido a que el archivo cargado será interceptado y empaquetado por el interceptor de carga de archivos de springmvc, el editor de Baidu No podemos reconocer el formato del archivo después de recibirlo, por lo que reemplazamos el CommonsMultipartresolver predeterminado de Spring con su propio CommonsMultipartresolver y modificamos el archivo de configuración

Reescribimos CommonsMultipartResolver:

Paquete tianwen. . común;

Importar. org. spring framework.web.multipart.commonsmultipartresolver; la clase pública CommonsMultiparResolver extiende CommonsMultipartResolver. liberado "); devuelve falso

}

System.out.println("Interceptación de CommonsMultipartResolver"); devuelve super.isMultipart(solicitud);

}

}

Modificar el archivo de configuración springMVC spring-mvc.xml:

& lt! -Modificar CommonsMultiparResolver para que se reescriba para nosotros en lugar de spring->;

& ltbean id="multipartResolver"

class = "com.tianwen.dcdp.common.commonsmultiparresolver">

<!

<property name = " codificación predeterminada " valor = " utf-8 "/& ​​gt;

& lt! - Tamaño máximo de archivo -& gt;

& ltproperty nombre = " maxUploadSize " valor = " 10485760000 "/>

& lt! -El valor máximo en memoria->

& ltproperty name = " maxInMemorySize " value = " 40960 "/& gt;

& lt/bean & gt;

5.Finalmente, configure el directorio de almacenamiento del archivo cargado y modifique el archivo de configuración del editor UE (ueditor_config.json):

Modifique los siguientes parámetros (es decir, configure la ruta URL del archivo cargado). Si la configuración es incorrecta, la imagen cargada no se mostrará correctamente en el editor de texto enriquecido):

" imageurl prefix":" http://localhost: 80/edwmanage ", /*image. prefijo de ruta de acceso*/"formato de ruta de imagen ":"/static/upload/image/{ yyyy } { mm } { DD }/{ time } { rand:6 } ", /*.

Puede personalizar la ruta de guardado y el formato del nombre del archivo*/La razón por la cual imagePathFormat está configurado como se indica arriba es porque en springMVC, los recursos en el directorio estático se designan como recursos estáticos (springMVC interceptará otras rutas).

La ruta física predeterminada para guardar archivos es: ruta raíz de la aplicación web + imagePathFormat.

{yyyy}{mm}{dd}: Ahorra por día.

{time}{rand:6}: genera nombres de archivos aleatoriamente.

También existe una solución sencilla:

1. Crear un nuevo proyecto web (ueditor).

2. Copie el archivo ueditor descargado en el directorio webapps del nuevo proyecto; consulte la introducción del sitio web oficial.

3. En el proyecto que utiliza el editor UE, modifique el archivo de configuración del editor UE (UE editor . config . js ) de la siguiente manera:

Window. u editor_HOME_URL = "http://localhost/u editor/"; var URL = ventana. Editor UE _ HOME _ URL | getUEBasePath();**

*Texto del elemento de configuración. Tenga en cuenta que la variable URL no se omite en ninguna configuración que involucre rutas aquí.

*/

Ventana. UEDITOR _ CONFIG = {

//Agrega una ruta a la instancia del editor, que no se puede anotar como UEDITOR_HOME_URL: URL.

//Ruta de la interfaz de solicitud unificada del servidor

, URL del servidor: URL+" JSP/controller. JSP "

3. y modifíquelo (ueditor_config.json):

" imageurl prefix":" http://localhost:80/UE editor", /*prefijo de ruta de acceso a la imagen*/"formato de ruta de la imagen": "/upload /image/{ yyyy } { mm } { DD }/{ time } { rand:6 } ", /*Subir ruta para guardar.