这篇文章主要介绍了Spring MVC接受表单自动封装特性实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Spring MVC中的Controller可以以实体类接受来自客户端的form表单,表单的字段自动构成实体类对象

客户端的表单

<form action="http://localhost:8080/test/user" method="POST">
    <!-- 每个字段名对应实体类 -->    
    <div>
      <input type="text" name="name"/>
    </div>

    <div>
      <input type="number" name="age"/>
    </div>

    <div>
      <input type="text" name="hobby"/>
    </div>

    <input type="submit" value="Submit"/>
</form>

实体类

public class User {
  private String name;
  private Integer age;
  private String hobby;

  public User() {
    this.name = "未初始化";
    this.age = 10;
    this.hobby = "coding";
  }

  public User(String name) {
    this.name = name;
    this.age = 10;
    this.hobby = "coding";
  }

  public User(String name, Integer age) {
    this.name = name;
    this.age = age;
    this.hobby = "coding";
  }

  public User(String name, Integer age, String hobby) {
    this.name = name;
    this.age = age;
    this.hobby = hobby;
  }

  public Integer getAge() {
    return age;
  }

  public String getHobby() {
    return hobby;
  }

  public String getName() {
    return name;
  }

  public void setAge(Integer age) {
    this.age = age;
  }

  public void setHobby(String hobby) {
    this.hobby = hobby;
  }

  public void setName(String name) {
    this.name = name;
  }

  @Override
  public String toString() {
    return "User{" +
        "name='" + name + '\'' +
        ", age=" + age +
        ", hobby='" + hobby + '\'' +
        '}';
  }
}

服务端接收

@Controller
@RequestMapping("/test")
public class TestController {

  @RequestMapping(value = "/user", method = RequestMethod.POST)
  // 控制器会自动实例化参数 
  public String user(User user) {
    System.out.println(user);
    return "redirect:/test/user";
  }

  @RequestMapping(value = "/user", method = RequestMethod.GET)
  public String user() {
    return "form";
  }
}

以上就是【Spring MVC接受表单自动封装特性实例解析】的全部内容了,欢迎留言评论进行交流!

赞(0) 踩(0)
发表我的评论

最新评论

  1. 暂无评论