文章目录
SpringMVC响应数据
只要将数据存入到相应的容器中就可以了,SpringMVC自动将容器中的数据被存入到ModelAndView中,在从ModelAndView存入到原生的三大内置对象中。
将数据存放到Map中(request作用域)
@RequestMapping("/fun1")
public String fun1(Map<String, Object> map,String name){
map.put("msg1", "呵呵...");
System.out.println("呵呵... "+name);
return "/user.jsp";
}
将数据存放到Model中(request作用域)
@RequestMapping("/fun2")
public String fun2(Model m){
System.out.println(" model ...");
m.addAttribute("msg2", "model --- msg");
return "/user.jsp";
}
将数据存放到ModelMap中(request作用域)
@RequestMapping("/fun3")
public String fun3(ModelMap mm){
mm.addAttribute("msg3", "modelMap --- msg");
System.out.println("==ModelMap==");
return "/user.jsp";
}
将数据存放到ModelAndView中(request作用域)
@RequestMapping("/fun4")
public ModelAndView fun4(){
ModelAndView mm = new ModelAndView();
mm.addObject("msg", "....");
mm.setViewName("/user.jsp");
mm.setStatus(HttpStatus.OK);
return mm;
}
通过注解将数据同时存入到session和request中(request和session作用域)
@Controller
@SessionAttributes("msg1") // 显示的将msg1 存入到session作用域中,同时request作用域中也有该属性
public class UserController {。。。
测试
<h1>用户管理:</h1>
Map--》request:${requestScope.msg1 }<br>
Map--》session:${sessionScope.msg1 }<br>
Model:${requestScope.msg2 }<br>
ModelMap:${requestScope.msg3 }<br>
总结:通过control方法的形参可以获得4种以上SpringMVC内置对象,将数据传入这些对象中(键值对方式),即可在jsp中获取这些数据(通过键名)。还可以在control类上加上 SessionAttributes
注解,直接将数据存入jsp中。
项目打包 提取码:htux
环境:eclipse