SpringMVC中的注解

RequestMapping注解

作用:用于建立请求URL和处理请求方法之间的对应关系

出现位置:

类上:请求URL的第一级访问目录

方法上:请求URL的第二级访问目录

属性:

value:用于指定请求的URL,和path属性的作用是一样的

method:用于指定请求的方式

params:用于指定限制请求参数的条件。它支持简单的表达式,要求请求参数的key和value必须和配置一模一样

例如:

headers:用于指定限制请求消息头的条件

请求参数的绑定

表单中的请求参数都是基于key=value的

SpringMVC绑定请求参数的过程是通过把表单提交请求参数,作用控制器中方法参数进行绑定的

例如:

支持绑定的数据类型

  • 基本类型参数:包括基本类型和String类型
  • POJO类型参数:包括实体类,以及关联的实体类
  • 数组和集合类型参数:包括List结构和Map结构的集合(包括数组)

SpringMVC绑定请求参数是自动实现的,但是要想使用,必须遵循使用要求。

使用要求

如果是基本类型或者String类型:要求我们的参数名称必须和控制器中方法的形参名称保持一致。(严格区分大小写)

如果是POJO类型,或者是它的关联对象:要求表单中参数名称和POJO类的属性名称保持一致,并且控制器方法的参数类型是POJO类型

如果是集合类型,有两种方式:

使用示例

基本类型和String类型作为参数

POJO类型作为参数 

实体类代码

jsp代码

 控制器代码:

POJO类中包含集合类型参数

实体类代码

jsp代码

控制器代码

RequestParam注解

作用:把请求中指定名称的参数给控制器中的形式参数

属性:

value:请求参数中的额名称

require:请求参数中是否必须提供此参数,默认值:true,表示必须提供,如果不提供将报错

使用示例

jsp中的代码

控制器中的代码

运行结果

RequestBody注解

作用:用于获取请求体内容,直接使用得到是key=value&key=value......结构的数据

属性:

required:是否必须有请求体,默认值是:true,当取值为true时,get请求方式会报错,如果取值为false,get请求得到的是null

使用示例

jsp代码

控制器代码

输出

PathVaribale注解

作用:用于绑定url中的占位符,例如,请求url中/delete/{id},这个{id}就是url占位符

属性:

value:用于指定url中占位符

required:是否必须提供占位符

使用示例

jsp代码

控制器代码

运行结果

RequestHeader注解

作用:用于获取消息头

属性:

value:提供消息头名称

require:是否必须有此消息头

注意:在实际开发中一般不怎么用

使用示例

jsp中的代码

控制器代码

运行结果

CookieValue注解

作用:用于把指定cookie名称的值传入控制器方法参数

属性:

value:指定cookie的名称

required:是否必须有此cookie

使用示例

jsp代码

控制器代码

运行结果

ModelAttribute注解

作用:出现在方法上,表示当前方法会在控制器的方法执行之前,先执行,它可以修饰没有返回值的方法,也可以修饰有具体返回值的方法;出现在参数上,获取指定的数据给参数赋值

属性:

value:用于获取数据的key,key可以是POJO的属性名称,也可以是map结构的key。

SessionAttribute注解

作用:用于多次执行控制器方法间参数共享

属性:

value:用于指定存入的属性名称

type:用于执行存入的数据类型

使用示例

jsp中的代码

控制器中的代码

运行结果

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值