SSM 前台AJax传递参数和controller后台接收的方法

前台传,后台接收

  • 1. 前台用data传递多个参数,后台用@RequestParam(value = "xx")接收
    • 有坑: 前台data传递参数的时候不需要加 "XX="
  • 2. 直接在url后 +XX,后台用@PathVariable("XX")接收
  • 3. 表单点击事件:前台用data:序列化表格,后台用n个RequestParam("XX"),给每一个input接收
  • 4. 前台页面A带参数跳转页面B,页面B根据hash获取

1. 前台用data传递多个参数,后台用@RequestParam(value = “xx”)接收

SSM 前台AJax传递参数和controller后台接收的方法_第1张图片
后台用 @RequestParam(value = “xx”)接收 ,防止出现传过来是空的情况会出现问题,最好是用defaultValue默认一下
SSM 前台AJax传递参数和controller后台接收的方法_第2张图片

有坑: 前台data传递参数的时候不需要加 “XX=”

直接nickname:nickname就行了
SSM 前台AJax传递参数和controller后台接收的方法_第3张图片
不然的话后台接收会有问题
打印出来的nickname是nickname="abc",把nickname=也带过来了,而不是单纯abc
所以如果用这个方法的话要截取=号后面的

//截取“=”号后面的
  int beginIndex1 = nickname.indexOf("=")+1;
  nickname = nickname.substring(beginIndex1);
  int beginIndex2 = pwd.indexOf("=")+1;
  pwd = pwd.substring(beginIndex2);

2. 直接在url后 +XX,后台用@PathVariable(“XX”)接收

SSM 前台AJax传递参数和controller后台接收的方法_第4张图片
后台的路径也要对应{XX},接收用@PathVariable(“XX”)
在这里插入图片描述

3. 表单点击事件:前台用data:序列化表格,后台用n个RequestParam(“XX”),给每一个input接收

SSM 前台AJax传递参数和controller后台接收的方法_第5张图片

一个一个对应接收
在这里插入图片描述

4. 前台页面A带参数跳转页面B,页面B根据hash获取

href=“页面B#XX”
在这里插入图片描述

<a href="detail.html#${data[i].gno}">
let gno = location.hash.replace("#", "");	//替换'#' -> ''

在这里插入图片描述

你可能感兴趣的:(前端,SSM,ajax,java)