* SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面
*
* 1)、可以在方法处传入Map、或者Model或者ModelMap。
*     给这些参数里面保存的所有数据都会放在请求域中。可以在页面获取
*   关系:
*      Map,Model,ModelMap:最终都是BindingAwareModelMap在工作;
*      相当于给BindingAwareModelMap中保存的东西都会被放在请求域中;
*
*     Map(interface(jdk))      Model(interface(spring))
*        ||                     //
*        ||                    //
*        \/                   //
*     ModelMap(clas)         //
*              \\           //
*               \\         //
*              ExtendedModelMap
*                    ||
*                    \/
*              BindingAwareModelMap
@RequestMapping("/handle01")
public String handle01(Map<String, Object> map){map.put("msg", "你好");map.put("haha", "哈哈哈");System.out.println("map的类型:"+map.getClass());return "success";
}/*** Model:一个接口*/
@RequestMapping("/handle02")
public String handle02(Model model){model.addAttribute("msg", "你好坏!");model.addAttribute("haha", 18);System.out.println("model的类型:"+model.getClass());return "success";
}@RequestMapping("/handle03")
public String handle03(ModelMap modelMap){modelMap.addAttribute("msg", "你好棒!");System.out.println("modelmap的类型:"+modelMap.getClass());return "success";
}

这些数据都存储在 reuest 域中

success.jsp

reuest:${requestScope.msg }<br/>


 * 2)、方法的返回值可以变为ModelAndView类型;*           既包含视图信息(页面地址)也包含模型数据(给页面带的数据);*          而且数据是放在请求域中;*            request、session、application;** 3)、SpringMVC提供了一种可以临时给Session域中保存数据的方式;*    使用一个注解  @SessionAttributes(只能标在类上)*    @SessionAttributes(value="msg"):*       给BindingAwareModelMap中保存的数据,或者ModelAndView中的数据,*      同时给session中放一份;*         value指定保存数据时要给session中放的数据的key;**    value={"msg"}:只要保存的是这种key的数据,给Session中放一份*     types={String.class}:只要保存的是这种类型的数据,给Session中也放一份**  后来推荐@SessionAttributes就别用了,可能会引发异常;*          给session中放数据请使用原生API;
@SessionAttributes(value={"msg"},types={String.class})
@Controller
public class OutputController {//args:如何确定目标方法每一个参数的值;最难?// method.invoke(this,args)@RequestMapping("/handle01")public String handle01(Map<String, Object> map){map.put("msg", "你好");map.put("haha", "哈哈哈");System.out.println("map的类型:"+map.getClass());return "success";}/*** Model:一个接口* @param model* @return*/@RequestMapping("/handle02")public String handle02(Model model){model.addAttribute("msg", "你好坏!");model.addAttribute("haha", 18);System.out.println("model的类型:"+model.getClass());return "success";}@RequestMapping("/handle03")public String handle03(ModelMap modelMap){modelMap.addAttribute("msg", "你好棒!");System.out.println("modelmap的类型:"+modelMap.getClass());return "success";}/*** 返回值是ModelAndView;可以为页面携带数据* @return*/@RequestMapping("/handle04")public ModelAndView handle04(){//之前的返回值我们就叫视图名;视图名视图解析器是会帮我们最终拼串得到页面的真实地址;//ModelAndView mv = new ModelAndView("success");ModelAndView mv = new ModelAndView();mv.setViewName("success");mv.addObject("msg", "你好哦!");return mv;}}

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello</h1>
pageContext:${pageScope.msg }<br/>
reuest:${requestScope.msg }<br/>
session:${sessionScope.msg }-${sessionScope.haha}<br/>
application:${applicationScope.msg }<br/>
<%System.out.println("来到页面了...."); %>
</body>
</html>

Model_ModelMap_Map相关推荐

最新文章

  1. 基础知识漫谈(3) 组合基础知识,设计游戏框架
  2. 牛客题霸 [数组中未出现的最小正整数] C++题解/答案
  3. 五月两场!! NVIDIA DLI 深度学习入门课程——计算机视觉
  4. Oracle不能加载OCI.DLL的解决方案
  5. 数据文件坏删除数据文件
  6. 作为程序猿----别说你不知道的人物!
  7. django 笔记3
  8. JAVA学习IO(1)
  9. linux zmq编译pgm,czmq交叉编译
  10. python下载文件的11种方式_python 下载文件的多种方法汇总
  11. 祝福新年快乐的c语言代码,“春节十二响”C语言代码开源了,命名是亮点
  12. 《创业维艰》笔记 2
  13. EXCEL表格超链接图片
  14. 计算机网络共享打不开,电脑只要打开共享提示“无法启用共享访问”如何解决...
  15. python plc fx5u_三菱PLC FX3U和FX5U有什么区别
  16. SMT32同步采样ADC芯片ADS8329 | 立创开源
  17. R语言机器学习mlr3:模型解释
  18. BLESS的安装---一个问题recompile with -fPIC的解决
  19. # linux下openssl版本问题 /lib64/libcrypto.so.10: version `OPENSSL_1.0.2‘ not found
  20. python计算圆柱体积_用Python怎么用类的方法计算圆柱的表面积和体积,麻烦帮我写出代码,谢谢...

热门文章

  1. 三国java游戏 带青釭剑_三国杀装备牌青釭剑属性全面解析
  2. active learning主动学习
  3. KafkaController创建topic流程解析
  4. 《Android 应用案例开发大全(第3版)》——第2章,第2.3节壁纸的基本框架
  5. 找出1-1000中的所有完美数
  6. 中国改名最成功的5所大学!
  7. 为什么说个人免签支付非常安全呢?
  8. Hbase 删除表数据
  9. iPhone11的计算机怎么用,旧手机数据怎样导入iPhone 11?既不用电脑也不用云,竟这样简单...
  10. 关于Windows Server 2008安全防护