A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

3 带回业务数据
  3.1 在controller方法的形参上申明一个Model形参,将数据存储在Model中,springmvc框架会将存储在model中的数据存储在request域中。
[Java] 纯文本查看 复制代码
 @RequestMapping("/testString")
    public String testString(Model model){
        System.out.println("testString方法执行了...");
        // 模拟从数据库中查询出User对象
        User user = new User();
        user.setUsername("美美");
        user.setPassword("123");
        user.setAge(30);
        // model对象
        model.addAttribute("user",user);
        return "success";
    }

3.2 通过controller方法的返回ModelAndView对象,通过此对象将数据带回,springmvc框架会将存储在modelandview中的数据存储在request域中。
[Java] 纯文本查看 复制代码
@RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        // 创建ModelAndView对象
        ModelAndView mv = new ModelAndView();
        System.out.println("testModelAndView方法执行了...");
        // 模拟从数据库中查询出User对象
        User user = new User();
        user.setUsername("小凤");
        user.setPassword("456");
        user.setAge(30);

        // 把user对象存储到mv对象中,也会把user对象存入到request对象
        mv.addObject("user",user);

        // 跳转到哪个页面
        mv.setViewName("success");

        return mv;
    }

3.3 在controller方法的形参中申明一个ModelMap对象,springmvc框架会将存储在modelmap中的数据存储在request域中。
[Java] 纯文本查看 复制代码
 @RequestMapping("/testString1")
    public String testString1(ModelMap modelMap){
        System.out.println("testString方法执行了...");
        // 模拟从数据库中查询出User对象
        User user = new User();
        user.setUsername("美美");
        user.setPassword("123");
        user.setAge(30);
        // modelmap对象
        modelMap.addAttribute("user",user);
        return "success";
    }

4 返回响应客户浏览器
  4.1 跳转页面 返回String 表示逻辑视图名称,最终调转的页面= 视图解析器中配置的前缀+逻辑视图+视图解析器中配置的后缀
[Java] 纯文本查看 复制代码
@RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        // 创建ModelAndView对象
        ModelAndView mv = new ModelAndView();
        System.out.println("testModelAndView方法执行了...");
        // 模拟从数据库中查询出User对象
        User user = new User();
        user.setUsername("小凤");
        user.setPassword("456");
        user.setAge(30);
        // 把user对象存储到mv对象中,也会把user对象存入到request对象
        mv.addObject("user",user);
        // 跳转到哪个页面
        mv.setViewName("success");
        return mv;
    }

4.2 跳转页面 返回String 带forword或者redirect关键字
[Java] 纯文本查看 复制代码
@RequestMapping("/testForwardOrRedirect")
    public String testForwardOrRedirect(){
        System.out.println("testForwardOrRedirect方法执行了...");

        // 请求的转发
        // return "forward:/WEB-INF/pages/success.jsp";

        // 重定向
        return "redirect:/index.jsp";
    }

4.3 返回数据  直接返回string
[Java] 纯文本查看 复制代码
 @RequestMapping("/testString")
    public @ResponseBody String testString(){
        System.out.println("testString方法执行了...");
        return "hello";
    }

4.4 返回数据  返回对象或者集合的json格式字符串
[Java] 纯文本查看 复制代码
@RequestMapping("/testAjax")
    public @ResponseBody User testAjax(@RequestBody User user){
        System.out.println("testAjax方法执行了...");
        // 客户端发送ajax的请求,传的是json字符串,后端把json字符串封装到user对象中
        System.out.println(user);
        // 做响应,模拟查询数据库
        user.setUsername("haha");
        user.setAge(40);
        // 做响应
        return user;
    }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马