springmvc如何使用POJO作为参数

这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

springmvc会按请求参数名和POJO属性名进行匹配,自动为该对象填充属性值,支持级联属性。

User.java

package com.gong.springmvc.entities;

public class User {
  private String username;
  private String password;
  private String email;
  private Integer age;
  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 String getEmail() {
    return email;
  }
  public void setEmail(String email) {
    this.email = email;
  }
  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 + ", email=" + email + ", age=" + age
        + ", address=" + address + "]";
  }
}

Address.java

package com.gong.springmvc.entities;

public class Address {
  private String city;
  private String street;
  public String getCity() {
    return city;
  }
  public void setCity(String city) {
    this.city = city;
  }
  public String getStreet() {
    return street;
  }
  public void setStreet(String street) {
    this.street = street;
  }
  @Override
  public String toString() {
    return "Address [city=" + city + ", street=" + street + "]";
  }

}

SpringmvcTest.java

import com.gong.springmvc.entities.User;

@RequestMapping("/springmvc")
@Controller
public class SpringmvcTest {
  private static final String SUCCESS = "success";

  @RequestMapping(value="/testPojo")
  public String testPojo(User user) {
    System.out.println("testPojo:"+user);
    return SUCCESS;
  }
}

index.jsp

<form action="springmvc/testPojo" method="POST"><br>
    <span>username:</span><input type="text" name="username"><br>
    <span>password:</span><input type="password" name="password"><br>
    <span>email:</span><input type="text" name="password"><br>
    <span>age:</span><input type="text" name="password"><br>
    <span>city:</span><input type="text" name="address.city"><br>
    <span>street:</span><input type="text" name="address.street"><br>
    <input type="submit" value="submit"><br>
  </form>

启动tomcat服务器之后:

输入相应信息点击提交:

成功为pojo赋值,包括级联属性address。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 快速解决SpringMVC @RequestBody 用map接收请求参数的问题

    一:遇到个跨域调用,因为传个我的参数不定,所以需要通过map来接收参数并进行签名验证等操作 理所当然的写出了下面的代码,但是发现map里并没有获取到传来的key-value值 @RequestMapping(value = "/callback", produces = "text/html;charset=UTF-8") @ResponseBody public String callback(@RequestBody Map<String, String&

  • 一篇文章弄懂Spring MVC的参数绑定

    前言 参数绑定,简单来说就是客户端发送请求,而请求中包含一些数据,那么这些数据怎么到达 Controller ?这在实际项目开发中也是用到的最多的,那么 SpringMVC 的参数绑定是怎么实现的呢? 下面我们来详细的讲解. SpringMVC参数绑定,简单来说就是将客户端请求的key/value数据绑定到controller方法的形参上,然后就可以在controller中使用该参数了 下面通过5个常用的注解演示下如何进行参数绑定: 1. @PathVariable注解 @PathVariabl

  • 解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题

    新配置一个spring的MVC项目,发现对Get请求的中文参数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中),如下: <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param>

  • springmvc接收参数为日期类型

    用单个Date类型接收日期类型时,会出现报错,加上initBinder的方法 意思是将所有传入的参数都通过此方法,如果过是日期通过日期格式化器进行格式化 如果是接收类型为对象内的属性为Date类型时 直接在属性双加上注解,就可以进行转化日期格式

  • 解决SpringMVC接收不到ajaxPOST参数的问题

    问题 今天遇到一个问题,代码如下 java: @PostMapping(value = "/method") @ResponseBody public Object method(Integer id,String audit_content) { return null; } js: var data = {id:7,audit_content:"11111111111111111111a1"}; $.ajax({ type: "POST",

  • Spring MVC处理参数中的枚举类型通用实现方法

    前言 在开发的过程中,会涉及到大量的枚举类型数据,我们都知道,Springmvc本身能自动转换很多的数据类型,也支持你自定义转换类型,非常灵活. 本文主要介绍的是关于Spring MVC处理参数的枚举类型通用实现的相关内容,下面话不多说了,来一起看看详细的介绍吧 业务场景: 前端提交了枚举的一个属性value,想由spring来完成参数类型自动转换成对应的枚举. 比方有一个枚举 @AllArgsConstructor(access = AccessLevel.PRIVATE) @Getter @

  • springmvc 传递和接收数组参数的实例

    java url中如何传递数组,springMVC框架controller类如何接收数组参数? 下面介绍一下URL中传递数组参数方法: dd.do?titles[]=col1&titles[]=col2&titles[]=col3 或者使用ajax方式传递: var param = {titles:['col1','col2','col3']}; $.ajax({url:"dd.php", type:"post", data:param, async

  • Spring MVC请求参数与响应结果全局加密和解密详解

    前提 前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景.为了模拟真实的交互场景,先定制一下整个交互流程.第三方传输(包括请求和响应)数据报文包括三个部分: 1.timestamp,long类型,时间戳. 2.data,String类型,实际的业务请求数据转化成的Json字符串再进行加密得到的密文. 3.sign,签名,生成规则算法伪代码是SHA-256(data=xxx&timestamp=11111),防篡改. 为了简单起见,加密和解密采用AES,对称秘钥

  • springmvc如何使用POJO作为参数

    这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 springmvc会按请求参数名和POJO属性名进行匹配,自动为该对象填充属性值,支持级联属性. User.java package com.gong.springmvc.entities; public class User { private String username; private String password; priv

  • SpringMVC 接收前端传递的参数四种方式小结

    目录 SpringMVC 接收前端传递的参数四种方式 @RequestParam 获取注解 @PathVariable获取注解 SpringMVC,可以不设置任何注解即可接收参数 SpringMVC,也可以自动包装成对象 @RequestBody 用来接收数组或者复杂对象 SpringMVC的自动封装(不传参也能进入) SpringMVC接收不到前端传递的参数原因 代码清单 SpringMVC 接收前端传递的参数四种方式 @RequestParam注解 @PathVariable注解 Sprin

  • springmvc如何使用map接收参数

    目录 springmvc 使用map接收参数 第一种情况:请求参数有多组 第二种情况:所有的参数不分组 用map接收参数的几个注意的问题 1.接受map的参数不能写value 2.对于多个同名字段 springmvc 使用map接收参数 开发过程中有时候我们并不知道前端都会传递哪些参数给到后端. 为方便扩展接口功能, 在请求参数不改变的情况下兼容前端新增的入参的需求, 我们会考虑使用map接受参数. 这样无论前端加减参数, controller的入参是不需要变动的. 第一种情况:请求参数有多组

  • SpringMVC接收页面表单参数

    1.直接把表单的参数写在Controller相应的方法的形参中 @RequestMapping("/addUser1") public String addUser1(String userName,String password) { System.out.println("userName is:"+userName); System.out.println("password is:"+password); return "/us

  • SpringMVC中使用bean来接收form表单提交的参数时的注意点

    这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点: 使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法. 注:以下代码均为示例代码,非本人实际运行代码,请自行补充. 例如:我有一个bean类是User,具有变量username和password.同时,表单

  • SpringMVC接收复杂集合对象(参数)代码示例

    SpringMVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype(MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则SpringMVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合.以下列举接收List<String>.List<User>.List<Map<String,Object>>.

  • 基于springmvc之常用注解,操作传入参数

    目录 springmvc常用注解,操作传入参数 @RequestParam @RequestBody @PathVariable @RequestHeader @CookieValue @ModelAttribute @SessionAttributes springmvc常用注解,操作传入参数 @RequestParam 一般用于jsp参数名和后台方法参数指定,对应 /* * value=name 当jsp的参数和方法上的参数对应不上,可以指明 * required() default tru

  • springmvc接口接收参数与请求参数格式的整理

    目录 springmvc接口接收参数与请求参数格式 一.首先我们需要认识下http请求中的Content-Type 二.注解@RequestParam(value="id") 三.注解@RequestBody springmvc接口接受前端传递参数数据类型总结 一.springMVC中controller参数是自动注入 二. 接受前端传递的对象 三.小结一下 springmvc接口接收参数与请求参数格式 前言: 相信大家在刚开始接触接口定义与调用时遇到过接口接收不到请求参数的问题,本人

随机推荐