SpringMVC获取各种类型的请求数据

SpringMVC获取各种类型的请求数据

​ 直接control方法的参数列表写出来就可以了,SpringMVC自动根据参数名,参数类型从请求参数中获取,然后填充到参数中。

获取字符串,包装类型

@RequestMapping("/query")
@ResponseBody
public String query(String name,Integer age){
	System.out.println(name+" "+age);
	return "ok";
}

http//localhost:8080/cjw?name=zs&age=18 请求参数名与形参名对应,就可以获取到。

ps推荐使用包装类型替代基本数据类型,原因是如果基本类型不予许设置为空,如果使用基本类型而获取不到,会引起服务端错误。

ps@RequestParam 是一个形参注解, 通过 @RequestParam 可以指定一个请求参数与形参对应/要求该形参是必须传入的/设置形参的默认值。

@RequestParam

可选属性作用赋值举例
value指定一个请求参数与形参对应@RequestParam(value=“userName”)
required要求该形参是必须传入的@RequestParam(required=true)
defaultValue设置形参的默认值@RequestParam(defaultValue=“18”)

使用举例

形参name值与请求参数userName绑定,而且name必须被获得,换而言之请求参数userName填写。

形参age的默认值为18

@RequestMapping("/query")
	@ResponseBody
	public String query(@RequestParam(value="userName",required=true)String name,@RequestParam(defaultValue="18")Integer age){
		System.out.println(name+" "+age);
		return "ok";
	}

获取自定义对象

需要获得自定义对象,在形参中直接写就好了。要求:请求参数名与自定义对象中的属性名对应

@RequestMapping("/add")
	@ResponseBody
	public String add(User user){
		System.out.println(user);
		return "ok";
	}

ps属性对象中属性命名规则为, “形参对象属性名.属性名” (请求参数名必须写成这样)

举例 user对象属性cat是一个对象,cat中有一个属性名为color,获取user对象。

public class User {

	private Integer id;
	
	private String name;
	
	private String address;
	
	private Cat cat;
public class Cat {

	private String color;
color:<input type="text" name="cat.color"><br>
	@RequestMapping("/add")
	@ResponseBody
	public String add(User user){
		System.out.println(user);
		System.out.println(user.getCat().getColor());
		return "ok";
	}

获取数组

数组是可以直接获取的

	@RequestMapping("/update1")
	@ResponseBody
	public String update1(String[] games){
		for (String g : games) {
			System.out.println(g);
		}
		return "ok";
	}

获取集合

SpringMVC不支持形参中直接获取集合,如果把集合作为对象的属性,通过获取对象,间接的获取集合。

举例

public class User {
	
	private List<String> games;

获取Data

SpringMVC不支持形参中直接获取Data类型,需要注册了配置转换器。 见SpringMVC获取Data。

项目打包 提取码:tq9h 环境:eclipse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值