接口测试 Nodepad 海思 5G multithreading search canvas colors jqgrid 建造师报考条件 vue状态管理 vue网页 ios视频教程 python查看数据类型 jquery关闭当前窗口 vue与html5 python中文文档 java最新框架 java结构 java的for循环 java中的map sql综合利用工具 vbs脚本 typemonkey js判断字符串相等 手机主题之家 16进制编辑器 流程图工具 电脑听歌识曲 算法笔记 1667 华为手机刷公交卡 俄罗斯方块代码 鬼灵战马 android应用开发入门 影音先锋下载速度慢 租房管理软件 pcmark10 易语言数组 jsps2寸照片制作
当前位置: 首页 > 学习教程  > 编程语言

SpringMVC中接收前端表单数据的学习

2021/1/13 20:25:54 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

可以先参考这篇入门博客>>>> SpringMVC初体验-学习和入门案例实现(MVC和三层架构的区别) 本篇博客案例都是对上面博客案例的扩充 第一种:使用控制器参数列表 先来看前端的form表单中的数据: 使用方式: 缺点:当前端页面数据很多时,参数列表这种形式太过冗余 第二种…

可以先参考这篇入门博客>>>> SpringMVC初体验-学习和入门案例实现(MVC和三层架构的区别)
本篇博客案例都是对上面博客案例的扩充

第一种:使用控制器参数列表

  • 先来看前端的form表单中的数据:

在这里插入图片描述

  • 使用方式:

在这里插入图片描述

  • 缺点:当前端页面数据很多时,参数列表这种形式太过冗余

第二种:使用对象来接受

  • 我们前端携带的数据往往是一个类的属性字段,所以我们这里可以直接定义一个类Customer:
package com.offcn.pojo;

public class Customer {
    private String username;
    private String pwd;

    @Override
    public String toString() {
        return "Customer{" +
                "username='" + username + '\'' +
                ", pwd='" + pwd + '\'';
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

   
}

  • 控制器方法中代码如下:

在这里插入图片描述

  • 注意:类中属性和表单name属性值要相同

第三种:复杂POJO类数据接受

1.当pojo类Customer属性中包含一个对象Car

  • 新的Customer类和Car类
public class Customer {
    private String username;
    private String pwd;
    private Car car;

    @Override
    public String toString() {
        return "Customer{" +
                "username='" + username + '\'' +
                ", pwd='" + pwd + '\'' +
                ", car=" + car +
                '}';
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public Car getCar() {
        return car;
    }

    public void setCar(Car car) {
        this.car = car;
    }
}


package com.offcn.pojo;

public class Car {
    private String cname;
    private String color;

    @Override
    public String toString() {
        return "Car{" +
                "cname='" + cname + '\'' +
                ", color='" + color + '\'' +
                '}';
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}
  • 前端代码:

在这里插入图片描述

<form action="regiest" method="post">
    用户名:<input type="text" name="username"><br>
    密码:<input type="text" name="pwd"><br>
    车子品牌<input type="text" name="car.cname"><br>
    车子颜色<input type="text" name="car.color"><br>
    <input type="submit" value="登录"><br>
</form>
  • 后端代码

在这里插入图片描述

2.当pojo类Customer属性中包含一个Car类型的List集合

  • Customer类
public class Customer1 {
    private String username;
    private String pwd;
    private List<Car> car;
}
  • 前端代码:

在这里插入图片描述

  • 后端代码同上

3.当pojo类Customer属性中包含一个Car类型的Map集合

  • Customer类
public class Customer3 {
    private String username;
    private String pwd;
    private Map<String,Car> car;
}
  • 前端代码:

在这里插入图片描述

  • 后端代码同上

4.当pojo类Customer属性中包含一个Car类型的Set集合

  • 我们知道,Set集合无序,且唯一,所以这里稍微不一样
  • Customer类:

在这里插入图片描述

public class Customer2 {
    private String username;
    private String pwd;
    private Set<Car> car=new HashSet<>();

    public Customer2() {
        car.add(new Car());
        car.add(new Car());
        car.add(new Car());
    }

    @Override
    public String toString() {
        return "Customer2{" +
                "username='" + username + '\'' +
                ", pwd='" + pwd + '\'' +
                ", car=" + car +
                '}';
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public Set<Car> getCar() {
        return car;
    }

    public void setCar(Set<Car> car) {
        this.car = car;
    }
}

  • 前端代码(和List集合没有区别):

在这里插入图片描述

  • 后端代码同上

本文链接: http://www.dtmao.cc/news_show_600312.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?