SpringMVC(三):使用 POJO 对象绑定请求参数值
2019独角兽企业重金招聘Python工程师标准>>>
Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address等
说的通俗点就是,平时我们想将请求页面的表单数据接收并封装成特定对象的时候,少不了做的是在某个servlet的对应方法中从request中将各个表单参数取出,类型转换好,构造一个特定类型的对象,再把表单参数都存进去。
只要你能保证请求页面的表单输入项的name与POJO对象类的域名称相同即可。
另外,springMVC的该功能还支持级联属性,也就是支持POJO中的域是另一个POJO对象的情况。相应地,表单的name写为:pojo1的域名.pojo2的域名
例如:
Person类
public class Person {public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Location getLocal() {return local;}public void setLocal(Location local) {this.local = local;}String username;int age;Location local;@Overridepublic String toString() {return "Person [username=" + username + ", age=" + age + ", local="+ local + "]";}
}
Location类
public class Location {public String getCity() {return city;}public void setCity(String city) {this.city = city;}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}String city;String province;@Overridepublic String toString() {return "Location [city=" + city + ", province=" + province + "]";}
}
Controller
@Controller
@RequestMapping("/roger")
public class PojoRequestController {@RequestMapping(value = "/addPerson")public String addPerson() {return "addPerson";}@@RequestMapping(value = "/showPerson", method = RequestMethod.POST)public String showPerson(PrintWriter printWriter, Person person) {System.out.println("person:" + person.getName() + " " + person.getLocal().getCity());printWriter.println("name:" + person.getName());printWriter.println("city" + person.getLocal().getCity());return null;}
}
addPerson.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title></title>
</head>
<body><form action="showPerson" method="post">name:<input type="text" name="name"/><br>city:<input type="text" name="local.city"/><br><input type="submit" value="add"/></form>
</body>
注意:
如果请求的表单参数中不存在pojo对象中的某个域名称的项目,则绑定后pojo该属性为null。
如果请求的表单参数中存在pojo对象中没有包含的域的项目,则绑定后该参数丢失。
如果表单项目的数据会自动从String转换为相应pojo的域类型。但如果类型无法转换,则报错。如果我输入age为dafsdfa,那么报错。
转载于:https://my.oschina.net/u/1020238/blog/505326
SpringMVC(三):使用 POJO 对象绑定请求参数值相关推荐
- SpringMVC使用 POJO 对象绑定请求参数值
如果对怎么搭建一个SpringMVC存在疑问 ,可以查看我的博客前端有介绍SpringMVC的hello的详细教程 使用 POJO 对象绑定请求参数值 Spring MVC 会按• 请求参数名和 PO ...
- SpringMVC ------使用POJO对象绑定请求参数值
2019独角兽企业重金招聘Python工程师标准>>> Spring MVC会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值.支持级联属性. 上代码: 首先配置请求 ...
- 使用POJO对象绑定请求参数
1.介绍 2.Person.java 1 package com.spring.bean; 2 3 public class Person { 4 private String username; 5 ...
- 【SpringMVC】SpringMVC系列4之@RequestParam 映射请求参数值
4.@RequestParam 映射请求参数值 4.1.概述 Spring MVC 通过分析处理方法的签名,将 HTTP 请求信息绑定到处理方法的相应人参中.Spring MVC 对控制器处理方法签名 ...
- springmvc(三) 参数绑定、
前面两章就介绍了什么是springmvc,springmvc的框架原理,并且会简单的使用springmvc以及ssm的整合,从这一章节来看,就开始讲解springmvc的各种功能实现,慢慢消化 --W ...
- Hibernate三种状态;query查询;ResultTransformer转换为pojo对象;可以将query语句写在xml中;Criteria查询;ProjectionList总和/f分组等函数
Session操作过程中的pojo对象存在三种状态: 1) 瞬时态:该对象在数据库中没有对应的数据 2) 持久态:数据库中存在该对象对应的数据,同时操作该对象的Session也存在. 3) 游离 ...
- SpringMVC之Controller和参数绑定
在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于Spr ...
- java元婴期(29)----java进阶(springmvc(3)---springmvc和mybatis整合参数绑定(上))
springmvc和mybatis整合 需求 使用springmvc和mybatis完成商品列表查询. 整合思路 springmvc+mybaits的系统架构: 第一步:整合dao层 mybatis和 ...
- java元婴期(30)----java进阶(springmvc(4)---参数绑定(下)springmvc校验异常处理)
包装类型pojo参数绑定 需求 商品查询controller方法中实现商品查询条件传入. 实现方法 第一种方法:在形参中 添加HttpServletRequest request参数,通过reques ...
最新文章
- 解决.Net Core跨域问题
- 又搜集一批项目源码,同样改改就能用
- 物联网和前端技术,两者相辅相成并且互相促进 —— 阿里云 MVP 黄强专访
- Windows Mobile Incoming Call View Custom
- 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
- springMVC视图解析器的配置和使用
- 【渝粤教育】电大中专测量学 (4)作业 题库
- ACCESS_REFUSED - operation not permitted on the default exchange
- 删除设备和驱动器下的百度云盘的图标
- Day4----类训练(搬家具、烤地瓜)
- hive_hbase一个综合练习题目总共包括以下部分
- 2022起重机械指挥判断题及答案
- js将网页保存成图片
- sourctree Commit merged changes immediately选项解读
- 大数据元数据管理系统有哪些功能
- 人工智能(AI)背后人工的力量——数据标注
- Java入门 18 3\25
- 证监计算机类专业知识,2020国考中国证监会计算机类专业考什么?
- 软考网络工程师备考详细介绍
- 谷歌机器学习主管:10年自学数据科学的3点心得体会
热门文章
- Redis低成本高可用方案设计
- 2w字长文,让你瞬间拥有「调用链」开发经验
- 漫话:如何给女朋友解释什么是单例模式?
- Spring Cloud第十二篇:断路器监控(Hystrix Dashboard)
- 万能 Transformer,你应该知道的一切
- 预训练图像处理Transformer
- GitHub:数据科学最全资料集合
- 靠数学“拿了”两次诺贝尔奖,彭罗斯从“铺地砖”帮忙发现2011年化学奖的秘密...
- 拿到腾讯字节快手 offer 后,他的 LeetCode 刷题经验在 GitHub 火了!
- 周志华:“数据、算法、算力”,人工智能三要素在未来还要加上“知识”