使用servletapi向request 域对象 共享数据
再controller中编写方法
//使用servletAPI向request域对象共享数据
@RequestMapping("/testReq")
public String req(HttpServletRequest request){
request.setAttribute("testReq","hello,servletapi");
return "success";
}
在success.html 中
页面即显示 hello,servletapi
使用 ModelAndView向request域对象 共享数据
/**
* ModelAndView 包含Model 和View的功能
* Model 主要用于向请求域共享数据
* View 主要用于设置视图,实现页面跳转
* @return
*/
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
ModelAndView mav = new ModelAndView();
//设置视图名称
mav.setViewName("success");
//处理模型数据,即向请求域request共享数据
mav.addObject("testMV","hello,mv");
return mav;
}
在success.html 中 <p th:text="${testMV}"></p>
页面显示: hello,mv
使用 Model向request域对象 共享数据
@RequestMapping("/testModel")
public String testModel(Model model){
model.addAttribute("testModel","hello,model");
return "success";
}
在success.html 中 <p th:text="${testModel}"></p>
页面显示: hello,model
使用 map向request域对象 共享数据
@RequestMapping("/testMap")
public String testMap(Map<String,Object>map){
map.put("testMap","hello,map");
return "success";
}
在success.html 中 <p th:text="${testMap}"></p>
页面显示: hello,map
使用 ModelMap向request域对象 共享数据
@RequestMapping("/testModelMap")
public String testModelMap(ModelMap map){
map.put("testModelMap","hello,modelmap");
return "success";
}
在success.html 中 <p th:text="${testModelMap}"></p>
页面显示: hello,modelmap
Model, ModelMap,Map的关系
Model,ModelMap,Map类型的参数其实本质上都是 BindingAwareModelMap类型的
public interface Model{} public class ModelMap extends LinkedHashMap<String,Object>{} public class ExtendedModelMap extends ModelMap implements Model{} public class BindingAwareModelMap extends ExtendedModelMap{}
向session域共享数据
@RequestMapping("/tesSession")
public String tesSession(HttpSession session){
session.setAttribute("tesSession","hello,session");
return "success";
}
在success.html 中 <p th:text="${session.tesSession}"></p>
页面显示: hello,session
session 默认失效时间 半小时
向application域共享数据
@RequestMapping("/testApplication")
public String testApplication(HttpSession session){
ServletContext application = session.getServletContext();
application.setAttribute("testApplication","hello,Application");
return "success";
}
在success.html 中 <p th:text="${application.testApplication}"></p>
页面显示: hello,Application