旅游网站域名应该如何设计,湖北 网站备案,千库网素材官网,wordpress+企业站模版个人简介#xff1a;Java领域新星创作者#xff1b;阿里云技术博主、星级博主、专家博主#xff1b;正在Java学习的路上摸爬滚打#xff0c;记录学习的过程~ 个人主页#xff1a;.29.的博客 学习社区#xff1a;进去逛一逛~ 向域对象共享数据一、使用 原生ServletAPI二、… 个人简介Java领域新星创作者阿里云技术博主、星级博主、专家博主正在Java学习的路上摸爬滚打记录学习的过程~ 个人主页.29.的博客 学习社区进去逛一逛~ 向域对象共享数据一、使用 原生ServletAPI二、使用 ModelAndView三、使用Model四、使用map五、使用ModelMap六、Model、ModelMap、Map的关系七、向session域、application域 共享数据补充一、使用 原生ServletAPI HttpServletRequest.setAttribute()方法 将数据共享至请求作用域(request域)
/*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {//使用原生ServletAPI 向请求作用域共享数据RequestMapping(value /testRequestByServletAPI)public String testRequestByServletAPI(HttpServletRequest request){request.setAttribute(testRequestScope,use-ServletAPI-setAttribute(request请求作用域));return success;}
}二、使用 ModelAndView ModelAndView有Model和View的功能Model主要用于向请求域共享数据View主要用于设置视图实现页面跳转 ModelAndView 相关方法ModelAndView.addObject() : 处理模型数据即向request请求作用域 共享数据ModelAndView.setViewName() : 设置视图名称
/*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {//SpringMVC方式通过ModelAndView向请求作用域共享数据RequestMapping(value /testModelandView)public ModelAndView testModelAndView(){ModelAndView mdv new ModelAndView();//addObject() : 处理模型数据即向request请求作用域 共享数据mdv.addObject(testRequestScope,use-ModelAndView-setAttribute(request请求作用域));//setViewName() : 设置视图名称mdv.setViewName(success);return mdv; //设置完视图名称后返回ModelAndView对象即可。}}三、使用Model Model对象,作为请求控制器方法的形参;Model.addAttribute()方法将数据共享至请求作用域(request域)
/*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {//SpringMVC方式通过Model向请求作用域共享数据RequestMapping(value /testModel)public String testModel(Model model){model.addAttribute(testRequestScope,use-Model-setAttribute(request请求作用域));System.out.println(model:model);System.out.println(model.getClass().getName());return success;} 四、使用map Map对象,作为请求控制器方法的形参;Map.put()方法将数据共享至请求作用域(request域)
/*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {///SpringMVC方式通过map向请求作用域共享数据RequestMapping(value /testMap)public String testMap(MapString,Object map){map.put(testRequestScope,use-Map-setAttribute(request请求作用域));System.out.println(map:map);System.out.println(map.getClass().getName());return success;}}五、使用ModelMap ModelMap对象,作为请求控制器方法的形参;ModelMap.addAttribute()方法将数据共享至请求作用域(request域)
/*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {///SpringMVC方式通过ModelMap向请求作用域共享数据RequestMapping(value /testModelMap)public String testModelMap(ModelMap modelMap){modelMap.addAttribute(testRequestScope,use-ModelMap-setAttribute(request请求作用域));System.out.println(modelMap:modelMap);System.out.println(modelMap.getClass().getName());return success;}}六、Model、ModelMap、Map的关系 Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的 /*** Model、ModelMap、Map的关系 :* Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的* public interface Model{}* public class ModelMap extends LinkedHashMapString, Object {}* public class ExtendedModelMap extends ModelMap implements Model {}* public class BindingAwareModelMap extends ExtendedModelMap {}*/七、向session域、application域 共享数据补充 /*** author .29.* create 2023-03-05 15:30*/
Controller
public class ScopeController {//用原生ServletAPI,向session作用域共享数据RequestMapping(value /testSession)public String testSession(HttpSession session){session.setAttribute(testSessionScope,use-ServletAPI-setAttribute(session作用域));return success;}//用原生ServletAPI,向session作用域共享数据RequestMapping(value /testApplication)public String testApplication(HttpSession session){ServletContext application session.getServletContext();application.setAttribute(testApplicationScope,use-ServletAPI-setAttribute(Application作用域));return success;}}