springMVC之POJO对象绑定请求参数

springMVC的POJO:SpringMVC会按照请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值,并且支持级联属性。如:dept.deptId、dept.address.tel等

简单来说,就是提交一个表单数据,然后springmvc帮我们把提交过来的参数,一一对应地填充到对象中去。

User.java

package com.f145a.springmvc.entities;

public class User {
	
	private String username;
	private String password;
	private String email;
	private int age;
	private Address address;

	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 Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

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

Address.java

package com.f145a.springmvc.entities;

public class Address {

	private String province;
	private String city;
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	@Override
	public String toString() {
		return "Address [province=" + province + ", city=" + city + "]";
	}
}

SpringMVCTest.java

package com.f145a.springmvc.handlers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.f145a.springmvc.entities.User;;

@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
	
	private static final String SUCCESS="success";
	
	/**
	 * springMVC会按请求参数名和POJO属性进行自动匹配
	 */
	@RequestMapping("/testPojo")
	public String testPojo(User user) {
		System.out.println("testPojo:"+user);
		return SUCCESS;
	}
}

index.jsp

<%@ 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>Insert title here</title>
</head>
<body>
<form action="springmvc/testPojo" method="post">
	username:<input type="text" name="username"/>
	<br>
	password:<input type="text" name="password"/>
	<br>
	email:<input type="text" name="email"/>
	<br>
	age:<input type="text" name="age"/>
	<br>
	city:<input type="text" name="address.city">
	<br>
	province:<input type="text" name="address.province">
	<br>
	<input type="submit" value="submit">
</form>
</body>
</html>

欢迎访问我的个人博客http://www.chengzequn.top

转载于:https://my.oschina.net/chengzequn/blog/781997

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值