一、SpringMVC页面跳转

1、请求转发(只能访问本站资源:网址不发生改变)

简单方式:

这种写法走配置文件中的视图解析器,如果我们想要跳转到配置的路径以外的页面,就会有问题,访问不到。

  1. @RequestMapping("/quick")
  2. public String quick(){
  3. return "success" ;
  4. }

forward关键字:

forward关键字的底层就是:request.getRequestDispatcher(“跳转路径”).forward(req,resp);
forward关键字,不经过视图解析器进行拼接字符串

  1. @Controller
  2. public class ForwardController {
  3. @RequestMapping("/forward")
  4. public String forward(){
  5. return "forward:/list.jsp";
  6. }
  7. }

2、重定向(可访问外网资源:网址发生改变)

redirect关键字:

此关键字的底层:response.sendRedirect(“web项目地址+重定向地址”);

  1. @RequestMapping("/redirect")
  2. public String redirect() {
  3. return "redirect:/list.jsp";
  4. }

二、SpringMVC储存数据

1、ModelAndView

使用ModelAndView类用来储存处理完后的结果数据,以及显示该数据的视图
Model:代表模型
View:代表视图

用法一:储存数据

ModelAndView addObject(”键”,值)

用法二:设置视图(通过配置的视图解析器)

void setViewName(资源路径)

  1. @RequestMapping("/modelAndView")
  2. public ModelAndView modelAndView(ModelAndView modelAndView) {
  3. // 设置数据
  4. modelAndView.addObject("name", "张三");
  5. // 设置视图
  6. modelAndView.setViewName("success");
  7. return modelAndView;
  8. }

2、Model

使用ModelAndView进行数据的存储和页面的跳转比较麻烦,把跳转的任务交给SpringMVC

用法:存储数据

model.addAttribute(”键”,值)

  1. @RequestMapping("/model")
  2. public String model(Model model) {
  3. model.addAttribute("name", "小德");
  4. return "success";
  5. }

三、SpringMVC异步交互