GakkiYui1 2020-07-16 09:03 采纳率: 40%
浏览 236

关于SpringBoot接收前台数据问题

1.假设有2个实体类 Test1 Test2 如下

package com.ruoyi.project.audit.planmanagement.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @version 1.0
 * @FileName Test1
 * @DESC 测试1
 * @create 2020/7/16 8:52
 */
public class Test1 implements Serializable
{
    private static final long serialVersionUID = 1L;

    private Long t1_id;
    private String name;
    private String title;

    private List<Test2> list = new ArrayList<Test2>();

    public Long getT1_id() {
        return t1_id;
    }

    public void setT1_id(Long t1_id) {
        this.t1_id = t1_id;
    }

    public String getName() {
        return name;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public List<Test2> getList() {
        return list;
    }

    public void setList(List<Test2> list) {
        this.list = list;
    }

    @Override
    public String toString() {
        return "Test1{" +
                "t1_id=" + t1_id +
                ", name='" + name + '\'' +
                ", title='" + title + '\'' +
                ", list=" + list +
                '}';
    }

    public Test1() {
    }

    public Test1(Long t1_id, String name, String title, List<Test2> list) {
        this.t1_id = t1_id;
        this.name = name;
        this.title = title;
        this.list = list;
    }
}

package com.ruoyi.project.audit.planmanagement.domain;

import java.io.Serializable;

/**
 * @version 1.0
 * @FileName Test2
 * @DESC 测试2
 * @create 2020/7/16 8:53
 */
public class Test2 implements Serializable
{
    private static final long serialVersionUID = 1L;

    private Long t2_id;

    private String name;

    private String Type;

    private Test1 test1;

    @Override
    public String toString() {
        return "Test2{" +
                "t2_id=" + t2_id +
                ", name='" + name + '\'' +
                ", Type='" + Type + '\'' +
                ", test1=" + test1 +
                '}';
    }

    public Long getT2_id() {
        return t2_id;
    }

    public void setT2_id(Long t2_id) {
        this.t2_id = t2_id;
    }

    public String getName() {
        return name;
    }

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

    public String getType() {
        return Type;
    }

    public void setType(String type) {
        Type = type;
    }

    public Test1 getTest1() {
        return test1;
    }

    public void setTest1(Test1 test1) {
        this.test1 = test1;
    }

    public Test2() {
    }

    public Test2(Long t2_id, String name, String type, Test1 test1) {
        this.t2_id = t2_id;
        this.name = name;
        Type = type;
        this.test1 = test1;
    }
}

问题:
前台form表单新增Test1,内容包含了2个实体类的内容,其中Test2的内容可以为多条。
现在Controller层接收数据时
@PostMapping("/XXX")
public String getTest(Test1 t1)

疑问点:
这里直接用实体类Test1接收的话 这个对象中的List属性里是否存入了 1个或多个Test2对象?
请大佬们指点一下。感激!

补充一下:

这个画面就类似与添加一个报销单,其中有报销单明细,可以为一个或多个。报销单就是Test1,报销单明细就是Test2

如果SpringBoot直接用Test1对象获取不到多条Test2的话,则需要用什么办法呢?

目前我能想到的就是方法参数里加一个HttpServletRequest req。 用 req.getParameterValues("属性值"); 这个方法获得Test2的每个值的数组。再遍历每个属性值的数组循环放到Test2对象中,最后放到Test1的List 里。

但是这个方法是以前没学SpringBoot时候用的了。想知道现在用SpringBoot 能不能有更方便的方法呢? 请大佬们指点一下。

  • 写回答

3条回答 默认 最新

  • 海德薇快跑 2020-07-16 10:05
    关注

    为什么不新建一个实体类,手动拆分呢?

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET