Valor de retorno del resorte Método controlador MVC

fuente original: http://www.yiidian.com/springmvc/return-value.html

valores de retorno método controlador Spring MVC puede soportar una variedad de escritura, escenas y efectos de cada versión es diferente. Estuvieron usando para mirar a cada valor de retorno.

  • cadena ordinaria
  • cadena de reenvío
  • Re-cuerda
  • vacío
  • ModelAndView
  • objetos Java

1 cadenas normales

Volver a la cadena normal, esta situación es más común, utilizado principalmente después nos ocupamos de la lógica de negocio, necesidad de saltar a otras páginas de la aplicación.

Ejemplo de código:

/**
 * 1)字符串 - 普通字符串(代表页面名称,不是完整路径,最后经过视图解析器的解析)
 *    优势:写法简单
 *    劣势:只能转发到视图解析器指定的特定目录
 */
@RequestMapping("/string")
public String string(){
    System.out.println("一点教程网-普通字符串....");
    //这里返回页面名称,必须经过视图解析器解析的!!!
    return "index";
}

Ver la configuración de resolución:
expediente

dirección de la página:

expediente

cadena 2 de reenvío

cadenas normales sólo pueden ser enviados a la siguiente página de la vista de catálogo de resolución especifica el prefijo, si desea que se remitirá a una página fuera del directorio de vista del resolver, a continuación, puede utilizar las cadenas de redacción reenviado.

Ejemplo de código:

/**
 * 2)字符串 - 转发字符串
 *     转发字符串格式:
 *        forward:完整页面的路径      例如:forward:/pages/index.jsp
 *
 *    优势:更加灵活,可以转到本项目下的任何页面,可以传递request域对象数据
 *    劣势:写法稍复杂
 */
@RequestMapping("/forward")
public String forward(){
    System.out.println("一点教程网-转发字符串....");
    return "forward:/index.html";
}

dirección de la página:

expediente

3 cadena de redireccionamiento

Si desea utilizar una forma de redirigir la página de salto, a continuación, puede utilizar la cadena de redireccionamiento se ha completado.

Ejemplo de código:

/**
 * 3)字符串 - 重定向字符串
 *     重定向字符串格式:
 *        redirect:完整页面的路径      例如:redirect:/pages/index.jsp
 *
 *    优势:很灵活,可以重定向到项目内和项目以外的页面
 *    劣势:写法稍复杂,不能转发requesy域对象数据
 */
@RequestMapping("/redirect")
public String redirect(){
    System.out.println("一点教程网-重定向字符串....");
    return "redirect:http://www.yiidian.com";
}

4 vuelve vacía

En general, cuando descargamos un archivo, no es necesario un controlador de nada devuelve el método, por lo que puede ser nula.

Ejemplo de código:

/**
 * 4)返回void
 *    用于文件下载
 */
@RequestMapping("/void")
public void returnVoid(HttpServletResponse response){
    System.out.println("void....");

    //模拟文件下载
    //1.读取需要下载的文件
    File file = new File("e:/spring.jpg");

    //2.构建文件输入流
    try {
        InputStream in = new FileInputStream(file);

        //3.获取文件输出流(从response对象获取)
        OutputStream out = response.getOutputStream();

        //4.边读边写
        byte[] buf = new byte[1024];
        int len = 0;

        while( (len = in.read(buf))!=-1  ){ 
            out.write(buf,0,len);
        }

        //5.流资源关闭
        out.close();
        in.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return;
}

5 ModelAndView

Spring MVC proporciona datos de objeto ModelAndView pueden almacenarse al campo de petición, la vista puede ser proporcionado. De hecho, después de la MVC del resorte cualquier final de adaptador de procesador que ejecuta el controlador volverá objeto ModelAndView. Así que este es un tiempo relativamente objetos de bajo nivel.

Ejemplo de código:

/**
 * 5)ModelAndView: 封装了Model数据和视图数据的对象
 */
@RequestMapping("/mv")
public ModelAndView mv(){
    ModelAndView mv = new ModelAndView();
    //设置模型数据
    mv.addObject("model","一点教程网");
    //设置视图数据
    mv.setViewName("index");
    return mv;
}

6 Vuelva a colocar el objeto Java

Objetos Java regresó aquí, puede ser JavaBean ordinaria, mapa o la lista también puede ser una colección y así sucesivamente. En general, es deseable para devolver el control del objeto Java en una cadena JSON sólo tiene que devolver un objeto Java. Nos centramos en el siguiente capítulo para explicar: "la conversión de datos JSON Spring MVC"

Descargar Fuente: https://pan.baidu.com/s/1sINJe9oIuysksT00LK31ng

expediente

Bienvenido a mi atención que el público número :: tutorial. Consigue exclusiva organizar los recursos de aprendizaje y productos secos empuje diaria.
Si usted está interesado en mi serie de tutoriales, puede centrarse en mi sitio web: yiidian.com

Supongo que te gusta

Origin www.cnblogs.com/yiidian/p/12602859.html
Recomendado
Clasificación