Spring MVC 绑定表单数据

本文介绍了Spring MVC如何绑定表单数据,包括使用@RequestParam注解、以OOP方式绑定数据以及对象级联的实现。通过匹配表单控件名称与对象属性,Spring MVC能自动将请求参数注入到对象中,同时支持对象级联的数据绑定,使得处理复杂数据结构变得更加方便。

绑定数据

使用 @RequestParam 注解

以 OOP 方式绑定数据

从 OOP 的角度分析,在应用程序中必然会存在一个描述用户的类。

@RequestMapping("/register",method = RequestMethod.POST)
public String register(User user) {
	System.out.println(user);
	return null;
}

 原理很简单,表单中数据以 key=value&key=value 的方式提交,此处的 key 实质是表单控件的名称。注册表单中的数据在请求包中的格式形式如下:

userNname=abc&userPassword=123456

如上图所示,Spring MVC 能自动解析这个数据,然后自动注入到对象的同名属性中。所以一定要保证对象的属性名与表单中提交数据时使用的参数名(key)一致。

对象级联

OOP 代码中经常会出现类似于 A 对象引用 B 对象,B 对象引用 C 对象的现象。 类似于现实生活中的小王有一辆汽车,汽车有一把钥匙……

如果每一个用户都有一辆汽车,用 OOP 描述,意味着 User 类中有一个对 Car 的引用类型属性。

只需要在表单页面中添加如下代码,控制器端不做任何修改。如此,除了能接收用户数据外,还能接收汽车的信息。

<form action="user/register" method="post">
	用户名:<input type="text" value="" name="userName" /> 
	<br />
	密码:<input type="password" value="" name="userPassword" /> <br />
	汽车类型:<input type="text" value="" name="car.carType" /> <br />
	汽车颜色:<input  type="text" value="" name="car.carColor" /> <br />
	<input  type="submit" value="注册" name="btnRegister" />
	<input type="reset"  value="重置" name="btnReset" />
</form>

也就是说,Spring MVC 支持对象级联自动数据绑定。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值