响应中产生结果
- @ResponseBody - 产生响应文本
- @ModelAndView - 利用模板引擎渲染输出
- @ResponseBody
- 直接产生响应体数据。过程不涉及任何视图
- 可产生标准的字符串/JSON/XML等格式数据
- 被StringHttpMessageConverter所影响
@PostMapping("/p1")
@ResponseBody
public String postMapping1(User user , String username ,@DateTimeFormat(pattern = "yyyy-MM-dd") Date createTime){
System.out.println(user.getUsername() + ":" + user.getPassword());
return "<h1>这是Post响应</h1>";
}
- @ModelAndView
- ModelAndView对象是指模型(数据)和视图(界面)对象
- 通过ModelAndView可将包含数据对象与模板引擎进行绑定
- SpringMVC中默认的view是jsp,也可以配置其他模板引擎。
使用:在controller层写方法返回值必须是ModelAndView,然后方法中创建ModelAndView对象,setViewName设置访问的jsp页面路径
controller层@GetMapping("/view")
public ModelAndView showView(Integer userId){
// ModelAndView mav = new ModelAndView("redirect:/view.jsp");
ModelAndView mav = new ModelAndView();
mav.setViewName("/um/view.jsp");
User user = new User();
if(userId == 1){
user.setUsername("lily");
}else if(userId == 2){
user.setUsername("smith");
}else if(userId == 3){
user.setUsername("lina");
}
mav.addObject("u" , user);
return mav;
}
view层:jsp页面<html>
<head>
<title>Title</title>
</head>
<body>
<h1>I'm view page</h1>
<hr>
<h3>Username:${u.username}</h3>
</body>
</html>