SpringMVC框架|参数绑定


一、简单数据类型绑定

1.SpringMVC获得请求参数

如何接收到请求中传递过来的参数呢? 除了使用原生servlet的方法,还可以使用参数绑定的形式,如下面的方法中使用了Integer类型的参数,那么它就可以接收变量名为id的Integer类型的数据了。这种情况下url中的参数名要与处理器中的参数名匹配。

	@RequestMapping("/addUI")
	public String addUI(Integer id) {
		return "addUI";
	}

上面的代码使用url:http://localhost:8080/SpringMVC01/addUI.do?id=5成功访问后,成功通过参数获得该id值
在这里插入图片描述

2.使用@RequestParam做映射

可以使用下面的方式,将url中的参数名与处理器的参数名做一个映射。

	@RequestMapping("/addUI")
	public String addUI(@RequestParam("xx") Integer id) {
		System.out.println(id);
		return "addUI";
	}

(1)required属性
其中RequestParam还有一个required属性,@RequestParam(value="xx",required=true)表示请求的url中必须要有xx属性,否则报错400。

	@RequestMapping("/addUI")
	public String addUI(@RequestParam(value="xx",required=true) Integer id) {
		System.out.println(id);
		return "addUI";
	}

(2)defaultValue属性
该属性表示如果url中没有该参数的值时,给参数设定一个默认值。

	@RequestMapping("/addUI")
	public String addUI(@RequestParam(value="xx",required=true,defaultValue="2") Integer id) {
		System.out.println(id);
		return "addUI";
	}

二、pojo数据类型绑定

url中属性名和处理器中的pojo形参中的属性名一致就可以完成自动映射。

1.简单pojo

创建一个User的pojo。

package com.gql.pojo;
public class User {
	private Integer id;
	private String name;
	private Integer age;
	public Integer getId() {
		return id;
	}
	//省略ser与get方法

在处理器中通过参数接收

	@RequestMapping("/test")
	public String addUI(User user) {
		System.out.println();
		return "addUI";
	}

使用url:http://localhost:8080/SpringMVC01/test.do?id=9&name=abc成功在处理器的参数中获得了url中的数据。

在这里插入图片描述

2.pojo级联

同时定义一个Person和User的pojo,将Person作为属性放在User的属性中。

Person的pojo

package com.gql.pojo;
public class Person {
	private Integer id;
	private String name;
	//省略set和get方法
}

User的pojo

package com.gql.pojo;
public class User {
	private Integer id;
	private String name;
	private Integer age;
	private Person p;
	//省略set和get方法

处理器:

	@RequestMapping("/test")
	public String addUI(User user) {
		System.out.println();
		return "addUI";
	}

此时通过url:http://localhost:8080/SpringMVC01/test.do?id=1&name=zdy&p.id=4&p.name=ss访问。处理器成功接收到url中的数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hudie.

不要打赏!不要打赏!不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值