要点:
model是一个Map结构的数据模型,能重定向时传递数据(拼接URL),但不安全,主要用于渲染前端页面,配合Thymeleaf填充html里面里设置好的参数。
@RequestParam用来获取查询字符串的参数值。
HttpServletRequest也可以获取查询字符串的参数值。
redirect: 用于重定向到新的url。
@ModelAttribute:运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用。
@ModelAttribute:运用在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中。
redirectAttribute.addAttribute实现URL字符串拼接,类似于model.addAttribute,但是它并不把数据添加到model里。
redirectAttribute.addFlashAttribute是安全的传参方法。
下面是以上几点的实例:
1 packagecom.example.demo.controller;2
3
4
5 importjavax.servlet.http.HttpServletRequest;6
7 importorg.springframework.stereotype.Controller;8 importorg.springframework.ui.Model;9 importorg.springframework.web.bind.annotation.ModelAttribute;10 impor