• Spring MVC,绑定包装POJO类型


    所谓包装POJO,就是一在个POJO中包含另一个简单POJO。示范:用户的证件信息。

    一、假定基本环境已经具备

    参考:Spring MVC,绑定默认数据

    二、创建POJO类(两个)

    package com.itheima.po;
    /**
     * 个人持久化类
     */
    public class Person {
        private Integer id;
        private String name;
        private Integer age;
        private String sex;
        private IdCard card;  //个人关联的证件
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public IdCard getCard() {
            return card;
        }
        public void setCard(IdCard card) {
            this.card = card;
        }
        @Override
        public String toString() {
            return "Person [id=" + id + ", name=" + name + ", "
                    + "age=" + age + ", sex=" + sex + ", card=" + card + "]";
        }
    }
    package com.itheima.po;
    /**
     * 证件持久化类
     */
    public class IdCard {
        private Integer id;
        private String code;
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public String getCode() {
            return code;
        }
        public void setCode(String code) {
            this.code = code;
        }
        @Override
        public String toString() {
            return "IdCard [id=" + id + ", code=" + code + "]";
        }
    }

    三、创建前台表单页面form3.jsp,位于:mvc目录

    <%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
         "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>提交POJO类型2</title>
    </head>
    <body>
    <form action="../hello/pojoParameter2" method="post">
            用户id:<input type="text" name="id" value="2"></br>
            用户名:<input type="text" name="name" value="Andy"></br>
            年龄:<input type="text" name="age" value="30"></br>
            性别:<input type="text" name="sex" value="男"></br>
            证件id:<input type="text" name="card.id" value="1234"></br>
            证件编码:<input type="text" name="card.code" value="321001198701019012"></br>
            <input type="submit" value="提交">
    </form>
    </body>
    </html> 

    注意:【证件id】和【证件编码】中name的写法,它的前缀不是IdCard的类名,而是Person类中IdCard类对应的变量名

    四、创建后台控制器类

    package com.itheima.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import com.itheima.po.Person;
    
    @Controller
    @RequestMapping(value = "/hello")
    public class POJOController2 {
        @RequestMapping("/pojoParameter2")
        public String pojoParameter(Person person){
            System.out.println(person);
            
            return "success";
        }
    }

    五、测试,打开网页:http://localhost:8080/ssm/mvc/form3.jsp

     提交,后台显示:

  • 相关阅读:
    数据库Mysql给用户赋予操作表的权限
    C# log4net日志分等级打日志
    C# 将字符串转为函数名
    C# winform无法拖动控件
    C# 程序获取管理员方法
    C# 生成程序目录避免生成多余的XML和pdb
    C# 快速获取一个月的天数或最后一天
    正则
    C# 根据服务名打开所在文件夹
    330 div+css Experience
  • 原文地址:https://www.cnblogs.com/nayitian/p/15365983.html
Copyright © 2020-2023  润新知