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中的数据。
在这里插入图片描述

发布了420 篇原创文章 · 获赞 1098 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/weixin_43691058/article/details/104357467