SpringMVC18_SpringMVC的数据响应4

花溪月影 / 2023-05-10 / 原文

一、SpringMVC的数据响应方式

 1) 页面跳转

  • 直接返回字符串
  • 通过ModelAndView对象返回 

 2) 回写数据

  • 直接返回字符串
  • 返回对象或集合

二、页面跳转-返回字符串形式

 直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转
  

  重定向不能访问WEB-INF, 重定向的资源必须在可以被访问到的位置。

三、页面跳转-返回ModelAndView形式1

 在Controller中方法返回ModelAndView对象,并且设置视图名称

package com.itheima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/user")
public class UserController {

    @RequestMapping(value="/quick2")
    public ModelAndView saves(){
        /*
            Model:模型,封装数据的
            View:视图,展示数据的
         */
        ModelAndView modelAndView = new ModelAndView();
        //设置模型数据,相当于放到request域中
        modelAndView.addObject("username","zhangsan");
        //设置视图名称
        modelAndView.setViewName("success");
        return modelAndView;
    }

}

 success.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>Success!  ${username}</h1>
</body>
</html>

 浏览器访问localhost:8080/user/quick2,视图解析器会转发请求到jsp下的success.jsp文件

       

四、页面跳转-返回ModelAndView形式2

 在Controller中方法形参上直接声明ModelAndView,无需在方法中自己创建,在方法中直接使用该对象设置视图,同样可以跳转页面

 

 

五、页面跳转-返回ModelAndView形式3

 

六、回写数据-直接回写字符串

 

 

七、回写数据-直接回写json格式字符串

 

 

 

八、回写数据-返回对象或集合1

 

 

 

九、回写数据-返回对象或集合2

 

 

十、知识要点小结