欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springmvc-Controller类的方法的不同返回值类型

程序员文章站 2024-03-24 08:11:52
...

1、返回ModelAndView

       @RequestMapping("/queryUser")
       public ModelAndView queryUser() {
             User user = userService.selectById(1);
             ModelAndView modelAndView = new ModelAndView();
             modelAndView.addObject("user",user);
             modelAndView.setViewName("user/user");
             return modelAndView;
        }

2、返回String

1)表示返回逻辑视图名,真正的视图(jsp路径)= 前缀+逻辑视图名+后缀

@RequestMapping("/queryUser")
        public String queryUser1(Model model) {
              User user = userService.selectById(1);
              model.addAttribute("user",user);
              return "user/user";
        }

2)重定向

@RequestMapping("/queryUser")
        public String queryUser1(Model model) {
              ......
              return "redirect:queryUser.action";
        }

3)转发

@RequestMapping("/queryUser")
        public String queryUser1(Model model) {
              ......
              return "forward:queryUser.action";
        }

3、返回void

在controller方法形参上可以定义request和response,使用request和response指定响应结果:

1)使用request转发页面:

request.getRequestDispatcher("queryUser.action").forward(request, response);

2)使用response重定向页面:

response.sendRedirect("queryUser.action");

3)通过response指定响应结果,例如响应json数据:

response.setCharaterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");