SpringMVC使用 POJO 对象绑定请求参数值

如果对怎么搭建一个SpringMVC存在疑问 ,可以查看我的博客前端有介绍SpringMVC的hello的详细教程

使用 POJO 对象绑定请求参数值

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

1.下面以普通实体类User和Address作为例子

package com.sunnylong.springmvcstady.pojo;

public class User {
	public User() {
		// TODO Auto-generated constructor stub
	}
	
	private String userName;
	private String password;
	private Integer 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 Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	@Override
	public String toString() {
		return "User [userName=" + userName + ", password=" + password + ", age=" + age + ", address=" + address + "]";
	}
	
	
}

2.Address类

package com.sunnylong.springmvcstady.pojo;

public class Address {

	public Address() {
		// TODO Auto-generated constructor stub
	}

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

3.控制类以及响应函数



package com.sunnylong.springmvcstady.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.sunnylong.springmvcstady.pojo.User;

@Controller
public class HelloWord {

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

}

4.编写请求页面



<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>



<form action="testPojoUser" method="post">
<br>
userName:<input type="text" name="userName" />
<br>
password:<input type="password" name="password" />
<br>
age:<input type="text" name="age"/>
<br>
privince:<input type="text" name="address.prevince"/>
<br>
city:<input type="text" name="address.city"/>
<input type="submit" value="提交"/>
</form>



</body>
</html> 

index.jsp页面输入
在这里插入图片描述

后台打印结果:
在这里插入图片描述

总结:

1.在SpringMVC中,这种前端后端的传数据的方式是比较常用的,用过编写pojo实体类,将请求的参数映射到实体类,而且支持多层次注入。
2. 需要特别注意的是 input 标签的属性name其值必须与pojo类的属性名一致,当存在多层次的时候,可以用’.'进行层次上的表示,具体看上面的例子

如果对怎么搭建一个SpringMVC存在疑问 ,可以查看我的博客前端有介绍SpringMVC的hello的详细教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值