SpringMVC数据输出相关知识总结

网友投稿 228 2023-01-10

SpringMVC数据输出相关知识总结

一、数据输出

Sprinhttp://gMVC将数据携带给页面的储存工具,有三种,map,ModelMap,model,它们在底层实质还是使用到了BindingAwareModelMap,对数据进行存储:

此外,也可以使用ModelAndView携带数据回传页面,实现代码如下

/**

* 向页面回传数据显示 handle01/02/03

* 使用 model map modelMap 回传数据 放置在request中

*/

@RequestMapping("/handle01")

public String handler01(Map map) {

map.put("msg","你好1!");

return "success";

}

@RequestMapping("/handle02")

public String handler02(Model model) {

model.addAttribute("msg","你好2");

return "success";

}

@RequestMapping("/handle03")

public String handler03(ModelMap modelMap) {

modelMap.addAttribute("msg","你好3");

return "success";

}

/**

* modelAndView 携带数据

*/

@RequestMapping("/handle04")

public ModelAndView handler(){

ModelAndView mv = new ModelAndView("success");

mv.addObject("msg","你好04");

return mv;

}

二、@ModelAttribute注解

使用@ModelAttribute注解,可以得到请求参数中的某个对象,而不是自己new出来的对象,所有带有ModelAttribute注解的方法都会提前于目标方法运行,将对象放置在request域中,然后在目标方法中获取,代码示例:

// 先于目标方法执行,获取了数据库中的斗个对象的信息

@ModelAttribute

public void hahaMyModelAttrihttp://bute(Map map){

Book book = new Book(100, "西游记", "吴承恩", 98, 10, 98.98);

System.out.println("数据库中查到的图书信息是:"+book);

mhttp://ap.put("haha", book);

b1 = book;

o1 = map;

System.out.println("modelAttribute方法...查询了图书并给你保存起来了...他用的map的类 型:"+map.getClass());

}

}

// 目标方法,在目标方法中使用查询到的对象

@RequestMapping("/updateBook")

public String updateBook(@ModelAttribute("haha")Book book,Map model){

o2 = model;

b2 = book;

Object haha = model.get("haha");

//System.out.println("传入的model:"+model.getClass());

System.out.println("o1==o2?"+(o1 == o2));

System.out.println("b1==b2?"+(b1 == b2)+"-->"+(b2 == haha));

System.out.println("页面要提交过来的图书信息:"+book);

return "success";

}

这样做的好处在于,避免了全字段修改,不给值的地方Spring会默认使用null进行代替,这回在修改之前每个键值对都有值。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot+MyBatisPlus+MySQL8实现树形结构查询
下一篇:今日盐城快递物流查询单号(盐城邮政快递查询电话)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~