前端页面多级联动传输数据类型问题(数组or字符串)后端处理
在最近的工作中,遇到一个问题,个人所做的简历模块中有两个字段,分别是个人信息中的户口所在地和现居住城市。
前端界面中这两个选项框是用到了二级和三级联动,在向后端传输时希望可以通过数组类型进行传输,例如【000000,000001】
前端页面展示如下:

后台数据库实体类字段设计如下:
registered_residence 户口所在地 varchar(50)
current_city 现居住城市 varchar(50)
简历实体字段设计如下:
//户口所在地
private String registeredResidence;
//现居住城市
private String currentCity;
当选择完户口所在地一栏的省外,就会联动出现省下面对应的市,产生联动效果
在协商传输类型时产生疑问:
1.后端数据库中所定义的这两个类型为String类型
2.前台要求后端存入数组类型
拟定解决方案
一:在Java实体类中创建VO类来新建数据类型为数组类型,此变量用来接收数组,如下:

新增简历个人信息时,前端传入户口所在地和现居住城市,后端需按数组类型接收
否则会报错(数据类型不匹配)
在新增简历个人信息的时候需要按照数组接收,存入数据库后按照字符串存储
所以需要循环拆分,之后在拼接成字符串,然后再存入字符串
/**
     * 更新简历个人信息(新增&&修改)
     */
    @PutMapping("/updateBrief")
    public ResponseEntity updateBrief(@RequestBody BriefVo briefVo){
        System.out.println("briefVo:" + briefVo);
        Brief brief = new Brief();
        BeanUtils.copyProperties(briefVo,brief);
        StringBuilder registeredResidence = new StringBuilder();
        if(briefVo.getCurrentCitys().length > 0){
            for(int i = 0;i<briefVo.getRegisteredResidences().length;i++){
                registeredResidence.append(briefVo.getRegisteredResidences()[i]);
                if(briefVo.getRegisteredResidences().length - i > 1){
                    registeredResidence.append("-");
                }
}
        }
        String  registeredResidence1 = registeredResidence.toString();
        brief.setRegisteredResidence(registeredResidence1);
StringBuilder currentCity = new StringBuilder();
        if(briefVo.getCurrentCitys().length > 0){
            for(int i = 0;i<briefVo.getCurrentCitys().length;i++){
                currentCity.append(briefVo.getCurrentCitys()[i]);
                if(briefVo.getCurrentCitys().length- i > 1){
                    currentCity.append("-");
                }
            }
        }
        String  currentCity1 = currentCity.toString();
        brief.setCurrentCity(currentCity1);
String result = briefService.updateBrief(brief);
        return ResponseEntity.ok(result);
    }
=====================================================
在存入数据库后,数据库中的字段类型为String
再次查看的时候,还需要把字符串类型的数据变为数组传输到
前端进行交互,否则也会报新增时数据类型不匹配的错误
/**
     * 查看简历所有信息(点击查看按钮时显示)
     */
    @GetMapping("/findAllCus")
    public BriefVo find(Brief brief) {
        String briefId = brief.getBriefId();
        List<BriefEduExperience> eduExperienceList = eduExperienceService.findEduExperienceByBriefId(briefId);
        List<BriefWorkExperience> workExperienceList = workExperienceService.findWorkExpericeByBriefId(briefId);
        List<BriefProjectExperience> projectExperienceList = projectExperienceService.findProjectExperienceByBriefId(briefId);
        List<BriefTrainExperience> trainExperienceList = trainExperienceService.findTrainExpericeByBriefId(briefId);
        List<BriefProSkill> proSkillList = proSkillService.findProSkillByBriefId(briefId);
        BriefVo briefVo = new BriefVo();
        BeanUtils.copyProperties(brief, briefVo);
        briefVo.setEduExperienceList(eduExperienceList);
        briefVo.setWorkExperienceList(workExperienceList);
        briefVo.setProjectExperienceList(projectExperienceList);
        briefVo.setTrainExperienceList(trainExperienceList);
        briefVo.setProSkillList(proSkillList);
        String registeredResidence = brief.getRegisteredResidence();
        String[] registeredResidences = registeredResidence.split("-");
        String currentCity = brief.getCurrentCity();
        String[] currentCitys = currentCity.split("-");
        briefVo.setCurrentCitys(currentCitys);
        briefVo.setRegisteredResidences(registeredResidences);
        return briefVo;
    }
=====================================
在完成这步操作之后,又出现了问题,具体问题记不得太清了,小白请包涵
综上,一系列操作之后发现,后端实现起来比较复杂,需要多次循环,
所以为提高效率,决定让前端来传字符串,为接收存储都方便,
如有更好的解决方案,请指教!!!!!!
希望看到这篇博客的博友可以提供解决方案,欢迎交流分享!!!!!!
前端页面多级联动传输数据类型问题(数组or字符串)后端处理的更多相关文章
- HTML前端技术(JS的使用,包括数组和字符串)
		<script type="text/javascript"> /* JS 数组的操作 //concat 连接两个或更多的数组,并返回结果. var arr1 = ne ... 
- JavaWeb开发使用jsp还是html做前端页面
		一.概述 刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢? 这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp ... 
- JavaScript 多级联动浮动(下拉)菜单 (第二版)
		JavaScript 多级联动浮动(下拉)菜单 (第二版) 上一个版本(第一版请看这里)基本实现了多级联动和浮动菜单的功能,但效果不是太好,使用麻烦还有些bug,实用性不高.这次除了修改已发现的问 ... 
- 微信小程序-多级联动
		微信小程序中的多级联动 这里用到的案例是城市选择器 先上代码: .wxml <view class="{{boxHide}}"> <view>{{nian} ... 
- [ PHP+jQuery ] ajax 多级联动菜单的应用:电商网站的用户地址选择功能 ( 二 ) - 仿亚马逊下拉面板
		/** jQuery version: 1.8.3 Author: 小dee Date: 2014.11.8 */ 接上一篇博客. 实现带缓存的仿亚马逊下拉面板 效果图: 图1 初始 图2 点击省份 ... 
- jQuery插件——多级联动菜单
		jQuery插件——多级联动菜单 引言 开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后 ... 
- MVC实现多级联动
		前言 多级联动(省级联动)的效果,网上现成的都有很多,各种JS实现,Jquery实现等等,今天我们要讲的是在MVC里面,如何更方便.更轻量的实现省级联动呢? 实现效果如下: 具体实现 如图所示,在HT ... 
- 电商门户网站商品品类多级联动SpringBoot+Thymeleaf实现
		在淘宝.京东等电商网站,其门户网站都有一个商品品类的多级联动,鼠标移动,就显示,因为前端不是我做的,所以不说明前端实现,只介绍后端实现. 搭建部署SpringBoot环境 配置文件配置: 开启了对Th ... 
- js 多级联动(省、市、区)
		js 多级联动(省.市.区) CreateTime--2018年4月9日17:10:38 Author:Marydon 方式一: 数据从数据库获取,ajax实现局部刷新 方式二: 数据从json文 ... 
随机推荐
- TCP 之 TCP_NEW_SYN_RECV状态
			概述 以前的TCP请求控制块没有独立的状态,而是依赖于他们的父控制块的状态,也就是TCP_LISTEN状态,现在要把请求控制块加入到全局的ehash中,所以需要一个状态,而TCP_SYN_RECV状态 ... 
- git合并同事代码
			git 操作: 如果龙哥提交了代码,我想拉去过来,我需要的操作: 1.git fetch 2. git add . 3.git commit -m '' 提交本地的文件 4.git merge ori ... 
- github搜索不到代码的问题
			Hi team, Please check the following three query url :https://github.com/Konctantin/GreyMagic/search? ... 
- rocketmq的linux搭建环境
			3.3. 上传解压[两台机器] # 上传 apache-rocketmq.tar.gz 文件至/usr/local # tar -zxvf apache-rocketmq.tar.gz -C /usr ... 
- AMBARI部署HADOOP集群(4)
			通过 Ambari 部署 hadoop 集群 1. 打开 http://192.168.242.181:8080 登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INS ... 
- LC 535. Encode and Decode TinyURL
			Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL sho ... 
- NDk的目录
			* docs : 开发文档* build: linux下编译的批处理命令* platform : 某种平台下编译需要的头文件和函数库* prebuild : 预编译的工具* sample: 实例代码* ... 
- git push 本地项目推送到远程分支[z]
			大家有的时候,会在本地新建项目,这里说一下在本地项目建立本地git仓库,然后push到远程仓库的步骤 1.在本地项目的文件夹下,git仓库初始化 git init 初始化本地git仓库 2. git ... 
- lucene  快速入门
			日常开发中,相信大家经常会用like去匹配一些数据,同时我们也知道,like往往会导致全表扫描,当数据量越来越大的时候,我们会纠结于 数据库的龟速查找,此时我们必须另寻蹊跷,这时lucene就可以大显 ... 
- ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决
			ORA-02291: 违反完整约束条件 - 未找到父项关键字问题解决 总体说说可能出现的原因: 情况场景: 表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况. 可能原因: ... 
