SpringMVC教程之如何使用POJO作为参数

本文介绍了在SpringMVC中如何使用POJO对象来代替@RequestParam注解获取表单中的多个参数,通过属性名匹配实现参数自动映射,支持级联属性,提供了一个案例展示创建表单、定义User和Role类以及测试方法的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

前面我们学习了@RequestParam注解,可以获得请求的参数,但是如果前台传来的是一个表单,表单中有很多参数,那么这个时候使用@RequestParam注解一个一个去映射的话,方法中就会有N多个注解在里面,显然这种方式获取参数是不可取的。这个时候我们可以使用一个Java对象来获得请求参数。

Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。而且支持级联属性,如:user.roleId、user.role.roleName等。

二、案例

新建一个表单

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试</title>
</head>
<body>
	<form action="springmvctest/testPojo" method="post">
		用户名: <input type="text" name="userName"/><br>
		密码: <input type="password" name="password"/><br>
		邮箱: <input type="text" name="email"/><br>
		角色: <input type="text" name="role.roleName"/><br>
		<input type="submit" value="提交"/>
	</form>
</body>
</html>

新建User类和Role类

public class User {
	private String userName;
	private String password;
	private String email;
	private Role role;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Role getRole() {
		return role;
	}

	public void setRole(Role role) {
		this.role = role;
	}

	@Override
	public String toString() {
		return "User [userName=" + userName + ", password=" + password
				+ ", email=" + email + ", role=" + role + "]";
	}

}
public class Role {
	private String roleId;
	private String roleName;

	public String getRoleId() {
		return roleId;
	}

	public void setRoleId(String roleId) {
		this.roleId = roleId;
	}

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	@Override
	public String toString() {
		return "Role [roleId=" + roleId + ", roleName=" + roleName + "]";
	}

}

编写测试方法

@RequestMapping(value = "/testPojo", method = RequestMethod.POST)
public String testPojo(User user) {
	System.out.println("testPojo: " + user);
	return "success";
}

测试运行,点击Submit按钮,如下:

至此,我们关于SpringMVC教程之使用POJO作为参数介绍完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值