5.1、使用ServletAPI向request域对象共享数据
|
<a th:href="@{testServletAPI}">测试通过ServletAPI向请求域共享数据</a>
|
|
@RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request){ request.setAttribute("testScope","hello,servletAPI");
return "success"; }
|
|
<p th:text="${testScope}"></p>
|
5.2、使用ModelAndView向request域对象共享数据
|
<a th:href="@{/testmav}">测试通过ModelAndView向请求域共享数据</a>
|
|
@RequestMapping("/testmav") public ModelAndView testmav(){
/** * ModelAndView包含Model和View的功能 * Model:向请求域中共享数据 * View:设置逻辑视图实现页面跳转 */ ModelAndView modelAndView = new ModelAndView();
//向请求域中共享数据 modelAndView.addObject("testReqeustScope","hello,ModelAndView");
//设置逻辑视图 modelAndView.setViewName("success");
//使用View设置逻辑视图,但是控制器方法一定要将ModelAndView的对象作为方法的返回值 return modelAndView; }
|
|
<p th:text="${testReqeustScope}"></p>
|
5.3、使用Model向request域对象共享数据
|
<a th:href="@{/testmodel}">测试通过Model向请求域共享数据</a><br>
|
|
@RequestMapping("/testmodel") public String testmodel(Model model){
//org.springframework.validation.support.BindingAwareModelMap System.out.println(model.getClass().getName()); model.addAttribute("testReqeustScope","hello,Model");
return "success"; }
|
5.4、使用map向request域对象共享数据
|
@RequestMapping("/testMap") public String testMap(Map<String,Object> map){
//org.springframework.validation.support.BindingAwareModelMap System.out.println(map.getClass().getName()); map.put("testReqeustScope","hello,map");
return "success"; }
|
5.5、使用ModelMap向request域对象共享数据
|
@RequestMapping("/testmodelmap") public String testModelMap(ModelMap modelMap){
//org.springframework.validation.support.BindingAwareModelMap System.out.println(modelMap.getClass().getName()); modelMap.addAttribute("testReqeustScope","hello,ModelMap");
return "success"; }
|
5.6 Model、ModelMap、Map的关系
Model、ModelMap、Map类型的参数本质上其实都是BindingAwareModelMap类型的
org.springframework.validation.support.BindingAwareModelMap
所以在底层中,这些类型的形参最终都是通过BindingAwareModelMap创建的
5.7、向session域共享数据
|
<a th:href="@{/testsession}">测试通过session向回话域共享数据</a><br>
|
|
@RequestMapping("/testsession") public String testSession(HttpSession session){ session.setAttribute("testSessionScope","hello,session");
return "success"; }
|
|
<p th:text="${session.testSessionScope}"></p>
|
5.8、向application域共享数据
|
@RequestMapping("/testapplication") public String testApplication(HttpSession session){
ServletContext servletContext = session.getServletContext();
servletContext.setAttribute("testApplicationScope","hello,Application");
return "success"; }
|
|
<!--通过${application.属性名}获取的是application域对象数据--> <p th:text="${application.testApplicationScope}"></p>
|