解决springmvc前后端无异常但是数据不完整

浏览器向后端提交数据保存到数据库
前端数据
在这里插入图片描述
在这里插入图片描述
可以看到前端发送的请求和数据一片空白,且后端也没有报错
在这里插入图片描述
但是请求竟然发送了,后端插入了一条记录,但是很多数据都是空值
分析:
前端发送了请求但是未成功携带数据,且前后端无异常。
springmvc接收参数的方式主要有三种
1:采用单个参数:加上@RequestParam注解则必须使前端参数名与注解value值相等,不加@RequestParam注解,当参数数量只有一个时,前后端参数名随意,当大于1时,前后端参数名必须相同


@RequestMapping("/xxx/xxx/xxx.do")
	public String function(
	@RequestParam(value = "name")String name,
	 String age, ) {
		//代码块
		return "xxx/xxx/xxx";
	}

2:采用实体类来接收:这种方式适用于发送的参数是某实体类的多个成员变量,这种方式必须保证前端参数名和实体类的成员变量名一一对应


	@RequestMapping("/xxx/xxx/xxx.do")
	public String function(User user) {
		//代码块
		return "xxx/xxx/xxx";

	}

3:采用Map接收:使用这种方式必须在参数前加上@RequestParam 注解才能成功封装成map,springmvc会自动将前端的参数名作为key,参数值作为value传给服务器端封装为map


	@RequestMapping("/xxx/xxx/xxx.do")
	public String function(@RequestParam Map<String, Object> map) {
		//代码块
		return "xxx/xxx/xxx";
	}

分析三种接收参数的方式
将自身代码进行改进,在map参数前加上@RequestParam注解再次运行

@RequestMapping("/workbench/transaction/saveCreateTran.do")
public @ResponseBody Object saveCreateTran(@RequestParam Map<String, Object> map, HttpSession session){
        User user = (User) session.getAttribute(Constant.SESSION_USER);
        ReturnObject returnObject = new ReturnObject();
        //处理参数
        map.put(Constant.SESSION_USER, user);
        try {
            tranService.saveCreateTran(map);
            returnObject.setCode(Constant.RETURN_OBJECT_CODE_SUCCESS);
        }catch (Exception e){
            e.printStackTrace();
            returnObject.setCode(Constant.RETURN_OBJECT_CODE_FAIL);
            returnObject.setMessage("系统繁忙,请稍后....");
        }
        return returnObject;
    }

在这里插入图片描述
在这里插入图片描述
可以看到数据正常完整的插入了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值