SSM学习之4:@RequestHeader,@CookieValue,传值方式

10 篇文章 0 订阅
9 篇文章 0 订阅

@RequestHeader

在方法中接收请求头(RequestHeader)当中的信息
在这里插入图片描述
在这里插入图片描述

@CookieValue

用来接收浏览发送过来的cookies值
与上面的接收方式一样

 @CookieValue("JSESSIONID") String JsessionID

传值方式(服务器如何传到jsp)SpringMVCProject3

取数据,一般从域当中取出来
ModelAndView

  • 需要自己创建
  • 既包含模型也包含视图

ModelMap

  • ModelMap对象主要用于传递控制方法处理数据到结果页面
  • 也就是说我们把结果页面上需要的数据放到ModelMap对象中即可
  • request对象的setAttribute方法的作用: 用来在一个请求过程中传递处理的数据。
  • 使用方法与model一样

Model
会自动传一个Model进去服务器

  • Model 和 ModelMap 的实例都是spirng mvc框架来自动创建并作为控制器方法参数传入,用户无需自己创建
  • 可以简单地将model的实现类理解成一个Map
  • Request级别的模型数据
  • Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类
  • 方法介绍
添加键值属性对
Model addAttribute(String attributeName, Object attributeValue);
将所添加的作为一个Map对象
Map<String, Object> asMap();
以属性的类型首字母小写为键  添加属性
 Model addAttribute(Object attributeValue);
 比如传入一个Goods对象,则以goods为键:
 goods=Goods{name='pig', price='28'}
 取法为${goods.name},${goods.price}
以集合中数据的类型作为key
将所提供的Collection中所有属性复制到zhegeMap中,如果有同类型会存在覆盖现象
ArrayList<Object> list = new ArrayList<>();
        list.add("cainan");
        list.add(78);
        model.addAttribute(list);
输出为:string=蔡楠,integer=78  
将attributes中的内容复制到当前的model中
如果当前model存在相同内容,不会被覆盖
Model mergeAttributes(Map<String, ?> attributes);

是否包含某一属性
 boolean containsAttribute(String attributeName);

@SessionAttributes注解
将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//把model当中key为name的转存到session域中
//types 把model当中指定类型全部写到session域
@SessionAttributes(value="name")
@SessionAttributes(types = String.class)

@SessionAttribute注解
使用@SessionAttribute来访问预先存在的全局会话属性
如果没有则会报错
在这里插入图片描述
在这里插入图片描述
@ModelAttribute
1.修改处理方法的参数时,自动把该参数放到model当中

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
若不处理,则默认键名为类的首字母小写的格式,如user

在方法定义上使用 @ModelAttribute 注解,Spring MVC 在调用目标处理方法前,
会先逐个调用在方法级上标注了@ModelAttribute 的方法。
2,此方法在对应的RequestMapping映射方法执行之前自动调用
调用时也会将model传进去及增加内容(model.addAttribute)
若在里面设置了与requestMapping方法相同的键名,则会被覆盖掉,当然覆盖的话并不是全覆盖,若requestMapping方法未设置某一字段 值,而此方法又有则不会覆盖

当然在requestMapping中若不注解@ModelAttribute则就是真正的替换

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值