SpringMVC的数据输出
- 使用
@Controller
public class OutputController {
@RequestMapping("/handle01")
public String handle01(Map<String, Object> map){
map.put("msg","你好map");
return "success";
}
@RequestMapping("/handle02")
public String handle02(Model model){
model.addAttribute("msg","你好model");
return "success";
}
@RequestMapping("/handle03")
public String handle03(ModelMap modelMap){
modelMap.addAttribute("msg","你好modelMap");
return "success";
}
//返回值是ModelAndView ;可以为页面携带数据
@RequestMapping("handle04")
public ModelAndView handle04(){
ModelAndView mv = new ModelAndView("success");
mv.addObject("msg","你好ModelAndView");
return mv;
}
}
- Map,Model,ModelMap的区别
我们可以调用getClass获取这三个对象的类型
class org.springframework.validation.support.BindingAwareModelMap
可以看到他们都是属于BindingAwareModelMap类型
我们可以稍微了解一下他们之间的关系
public class BindingAwareModelMap extends ExtendedModelMap{
public class ExtendedModelMap extends ModelMap implements Model{
public class ModelMap extends LinkedHashMap<String, Object>{
public interface Model{
- 如果想在session中保存数据
在类上加注解@SessionAttributes(value={"msg","message"},types = {String.class})
意思为:key值为msg或者message或者value值类型为String的数据在存放的时候,同时给session中存放一份
也就是说request域中与session域中都有值。
注意:不建议使用,如果想往session中存放数据,建议使用原生api
本博客文章主要供博主学习交流用,所有描述、代码无法保证准确性,如有问题可以留言共同讨论。

浙公网安备 33010602011771号