springMvc-入参对象

1.修改或者添加对象

2.多添件查询时候也会遇到

springMvc能够根据属性自动的封装pojo的对象并且支持关联的对象:大致的原理是在传入后台的时候把前台的属性和对象封装成json的形式传入后台,后台根据传入的对象,把Json的形式转换为对象进行处理

具体使用:

-1.地址实体类:包含省份和城市俩个属性

package com.atguigu.springmvc.entity;

public class Adress {
    private String privence;
    private String city;
    public String getPrivence() {
        return privence;
    }
    public void setPrivence(String privence) {
        this.privence = privence;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    @Override
    public String toString() {
        return "Adress [privence=" + privence + ", city=" + city + ", getPrivence()=" + getPrivence() + ", getCity()=" + getCity() + ", getClass()="
                + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
    }

}

-2.创建用户实体:包含用户名,年龄和关联对象地址

package com.atguigu.springmvc.entity;

public class User {

    private String name;
    private String age;
    private Adress adress;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Adress getAdress() {
        return adress;
    }
    public void setAdress(Adress adress) {
        this.adress = adress;
    }
    @Override
    public String toString() {
        return "User [name=" + name + ", age=" + age + "]";
    }

}

-3.在页面创建表单,包含用户信息

<form action="springmvc/testPojo" method="post">
        name:<input type="text" name="name" value=""/>
        age:<input type="text" name="age" value=""/>
        city:<input type="text" name="adress.city" value=""/>
        <input type="submit" value="提交PUT"/>
    </form>

-4.在controller中进行处理

@RequestMapping(value="/testPojo")
    public String testPojo(User user){
        return SUCCESS;
    }
时间: 2024-10-12 17:53:33

springMvc-入参对象的相关文章

解决SpringMVC入参出现The request sent by the client was syntactically incorrect请求语法错误方法

使用SpringMVC出现The request sent by the client was syntactically incorrect.请求错误如下: 可以确定为提交的表单数据和目标方法的入参不一致所导致,表单数据可以多于目标入参个数,但目标参数没有被赋值,则会出现该异常,如下情况: 表单数据: 目标方法: Employee字段: 比对表单数据和Employee字段,可以发现,表单数据比Employee字段少,再加上目标方法的入参是一个 Employee对象,所以将会出现提交的数据不足,

MyBatis对入参对象的属性空判断

<!-- 查询学生list,like姓名 --> <select id="getStudentListLikeName" parameterType="StudentEntity" resultMap="studentResultMap"> SELECT * from STUDENT_TBL ST WHERE ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'

springMVC中 request请求数据绑定到Controller入参 过程剖析

前言:Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众所周知,无论客户端传入的是什么类型的请求参数,最终都要以字节的形式传给服务端.而服务端通过Request的getParameter方法取到的参数也都是字符串形式的结果.所以,需要有一个把字符串形式的参数转换成服务端真正需要的类型的转换工具(基类:PropertyEditorSupport) 注:只有

SpringMVC确定目标方法POJO类型入参的过程

SpringMVC确定目标方法POJO类型入参的过程 访问方法 @RequestMapping("/pojoparam") public String POJOParam(User user){ return "success"; } 1,首先确定一个key值 ①如果目标方法的POJO类型的参数没有使用@ModelAttribute作为入参修饰,则key为POJO类名的第一个字母小写 例test(User user){}这样的方法key就是user ②如果使用了@M

springMVC4(12)复杂对象和集合类型入参绑定

1. 复杂对象参数绑定 对于普通的对象参数绑定,我们只需要对象成员变量名与请求参数名一一对应即可完成绑定. 而求对于组合对象,我们可以使用级联的方式来绑定方法参数.见下面实例: 我们先定义两个POJO类:User,Article其中Atricle是User的成员属性: public class Article { private Integer id; private String title; private String content; //忽略get和set方法 } package co

spring mvc绑定对象String转Date解决入参不能是Date的问题

使用spring的mvc,直接将页面参数绑定到对象中,对象中有属性为Date时会报错,此时需要处理下. 同样的,其他的需要处理的类型也可以用这种方法. 在controller中加入代码 @InitBinder protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { //对于需要转换为Date类型的属性,使用DateEditor进行处理 bin

根据接口入参不同返回不同对象集合的方法

最近要写一个外部调用的webservice接口,入参和出参都是xml格式,根据不同的type查询不同的集合返回,代码如下: 首先配置webservice接口的xml文件 然后写接口类 然后是实现类 实现类中最主要的是根据不同的type查询出结果然后分装成返回xml 封装的返回方法运用了泛型,可以传入不同的对象集合 public <T> String getDetailXml(String retCode,List<T> list){ Document doc=DocumentHel

Spring MVC POJO入参过程分析

SpringMVC确定目标方法POJO类型的入参过程 1.确认一个key: (1).若目标方法的POJO类型的参数没有使用@ModelAttribute作为修饰,则key为POJO类名第一个字母的小写 (2).若使用@ModelAttribute来修饰,则key为@ModelAttibute注解的value属性值. 1 @RequestMapping("/updateUser") 2 public String update(User user){ 这里没有使用@ModelAttrib

解决WebApi入参时多对象的问题

我们的项目是用WebApi提供数据服务,且WebPage跟APP中都有调用到. WebApi提供的接口一多,就发现一个问题,我们项目中有很多接口是接收POST(安全原因,我们采用的是https)请求的,而且入参基本也就是一两个参数.在开发的后期发现WebApi中有很多对象,多到已经快到了难以管理的地步了. 比如我们的WebApi如下: 对应的入参对象是: 很难想象如果再有别的Controller的话,Models中会有多少对象,而这些对象往往使用一次,或者在一个方法中使用了一下就不再用了. 这显

SpringMVC 多个对象的相同字段参数传递的最佳解决方案

SpringMVC 多个对象的相同字段参数传递解决方案,在SpringMVC中,有时需要传递多个对象(除了Model和web元素) 众所周知,在SpringMVC中不支持类似struts2的点语法传参法则,因此多个对象同名参数传递势必会造成一定的问题. SpringMVC的参数传递非常智能,可自动装配参数到对象 public class User{  private String name;  private String id;  private String gender,  private