本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示:
系统/工具 | 版本号 |
---|---|
OS | Windows 7 Home Basic |
Java | 1.7.0_79 |
Eclipse | Mars.1 Release (4.5.1) |
Maven | 3.3.9 |
Postman | 4.8.1 |
Tomcat | 7.0.47 |
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.1.RELEASE</version>
</dependency>
基本数据类型
SpringMVC Controller各方法参数绑定首先支持Java所有基本类型(包括: byte
、short
、int
、long
、float
、double
、char
、string
、boolean
),以及基本类型对应封装高级类(包括:StringBuilder
、StringBuffer
)。
代码示例如下所示(这里仅以int
及Integer
类型做例子,其他类型实现方式与此类同):
@Controller
@RequestMapping("param")
public class ParamController {
@RequestMapping(value="/int", method=RequestMethod.POST)
@ResponseBody
public String requestInt(int param) {
return "Request successful. Post param : Int - " + param;
}
@RequestMapping(value="/integer", method=RequestMethod.POST)
@ResponseBody
public String requestInteger(Integer param) {
return "Request successful. Post param : Integer - " + param;
}
//......
}
集合类型
- List
除了基本类型,Spring Controller各方法参数绑定还支持集合类型,这里拿常用的List
和Map
举例,如果直接拿集合类作为绑定参数,写法上与基本类型类似,不同的是需要在参数处增加注解@RequestParam()
,具体代码示例如下所示:
@RequestMapping(value="/list", method=RequestMethod.POST)
@ResponseBody
public String requestList(@RequestParam("listParam[]") List<String> param) {
return "Request successful. Post param : List<String> - " + param