SpringMVC-响应数据和结果视图

一、返回值分类

1、字符串

@Controller
@RequestMapping("test")
public class test{
    
    @RequestMapping("testString")
    public String testString(Model model){
          User user = new User();
          user.setUserName("李四");
          user.setAge("29");
          user.setDate("2019/12/12");
          model.addAttribute("user",user);
        return "success";
        
    }

}

姓名:
年龄:
日期:

2、void

 

3、ModelAndView

@Controller
@RequestMapping("test")
public class test{

    @RequestMapping("testModelAndView")
    public ModelAndView testModelAndView(){
        ModelAndView mv = new ModelAndView();
        List users = new ArrayList<>;
        User user1 = new User();
        user1.setUserName("李四");
        user1.setAge("23");
        User user2 = new User();
        user2.setUserName("王五");
        user2.setAge("33");
        users.add(user1);
        users.add(user2);
        mv.addObject("users",users);
        mv.setView("success");
        return mv;
    }
    
}


    ${user.UserName}

二、转发和重定向

转发后浏览器请求还是原来的,转发是在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为

1、forward

重定向后浏览器的地址变成了两个,对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的 访问请求.使用请求转发,既可以转发到jsp,也可以转发到其他的控制器方

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testForward")
    public String testForward(){
        System.out.println("重定向方法执行了");
        return "forward:";
    }
}

2、Redirect

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testRedirect")
    public String testRedirect(){
        System.out.println("重定向方法执行了");
        return "redirect:";
    }
}

三、ResponseBody响应json数据



function testJson(){
    var url="/test/testJson";
    

   $.ajax({
        url:url,
        method:"get",
        dataType:"json",
        data:{
            "id":"12","userName":"hehe"
        },
        success:function(data){
            alert(data);
            alert(data.id);
            alert(data.userName);
        }
       
    })

}

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testJson")
    public @ResponseBody User testJson(@RequestBody User user){
           user.setId("32");
           user.setuserName("lisi");
            return user;
    }

}

 

你可能感兴趣的:(SpringMVC-响应数据和结果视图)