Spring mvc 基础学习(四)——指定控制器方法参数

本文详细介绍了Spring MVC中控制器方法的参数处理,包括Servlet API参数、注解请求属性、输入绑定表单对象、请求正文转换、文件上传等。通过@RequestParam、@RequestHeader、@PathVariable、@RequestBody和@RequestPart注解,可以灵活地从请求中获取和处理数据。同时,文章提到了表单对象简化参数处理以及HTTP消息转换器的角色。
摘要由CSDN通过智能技术生成

    控制器方法可以有任意数量的不同类型大的参数。Spring 中参数的数目和类型都非常灵活。最简单的方法可以不含参数,而复杂的方法可以有几十个参数甚至更多。Spring可以理解这些参数的目的,并在调用这些参数时提供正确的值。另外,可以通过一些配置扩展Spring理解的参数类型。

    1、标准Servlet类型

    在需要的时候,Spring可以为方法提供Servlet API相关的众多参数类型作为参数。传入到这些参数的值永远不会是null,Spring将保证这一点。方法中可以指定一个、任意数目或者所有下面这些参数类型:

HttpServletRequest 用于操作请求属性

HttpServletResponse 用于操作响应

HttpSession 用于操作HTTP会话对象

InputStream 或者Reader 用于读取请求正文,但不能同时使用两者。在完成对它的处理后部应该关闭该对象

OutputStream 或者Writer 用于编写响应正文,但不能同时使用两者。在完成对它的处理后部应该关闭该对象

    2、注解请求属性

    可以使用几个参数注解表示方法参数的值应该从请求的某些属性中获取。在大多数情况下,标志这些注解之一的参数可以是任意的原始类型或者原始封装类型。

@RequestParam注解表示被注解的方法参数应该派生自命名参数。默认情况下,该注解表示请求参数是必需的,如果没有它,请求映射就无法完成。可以将required特性设置为false,禁止该行为(使请求参数变为可选的),此时如果请求中未包含请求参数,那么方法参数值将为null

例如:

@RequestMapping("user")
 public String user(@RequestParam("id") long userId,
@RequestParam(value="name",required=false) String name,
@RequestParam(value="key",defaultValue="") String key)
    {...    }

该方法将接受一个必须的id请求参数、一个可选的name请求参数(默认为null)和一个可选的key请求参数ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值