SpringBoot 前后端数据交互
程序员文章站
2022-03-16 08:55:01
...
本系列主要讲解前后端数据的传输(HTML + SpringBoot)
- form 提交
- Ajax 异步传输
- websocket 提交
本文主要讲解 from 的传递
接收GET 或 POST数据
1. 直接接收(不推荐)
GET
请求的数据会存在url
中,比如 http://localhost:8080/get?x1=9&x2=10
我们的任务就是从后台接受到x1
,x2
的值。
设立\get
映射,将相应的方法参数设置为与url
相同的名字,即可直接接收到来自前端的数据
@RequestMapping(value = "/get", method = {RequestMethod.POST, RequestMethod.GET})
public String getData(int x1, int x2){
System.out.printf("x1= %d, x2= %d\n", x1,x2);
return "Sucess";
}
启动后,访问http://localhost:8080/get?x1=9&x2=10
,可以看到输出
2. 参数接收
利用@RequestParam()
将参数名与接收参数名形成映射
@RequestMapping(value = "/get", method = {RequestMethod.POST, RequestMethod.GET})
public String getData(@RequestParam("x1") int para1, @RequestParam("x2") int para2){
System.out.printf("x1= %d, x2= %d\n", para1, para2);
return "Sucess";
}
启动后,访问http://localhost:8080/get?x1=9&x2=10
,会得到同样的效果
对于数组的传递
@RequestMapping(value = "/get", method = {RequestMethod.POST, RequestMethod.GET})
public String getData(@RequestParam("x1") int[] para1, @RequestParam("x2") int[] para2){
System.out.printf("x1= ");
for(int ele: para1){
System.out.printf("%d ",ele);
}
System.out.printf("\n");
System.out.printf("x2= ");
for(int ele: para2){
System.out.printf("%d ",ele);
}
System.out.printf("\n");
return "Sucess";
}
访问 :http://localhost:8080/get?x1=9,8,7,6&x2=10,11,12
3. HttpServletRequest 获取
@RequestMapping(value = "/get", method = {RequestMethod.POST, RequestMethod.GET})
public String login(HttpServletRequest request, HttpSession session) {
String x1 = request.getParameter("x1");
String x2 = request.getParameter("x2");
System.out.printf("x1=%s \n", x1);
System.out.printf("x1=%s \n", x2);
return "Sucess";
}
传递Json数据,可以通过Ajax传给后台
参考本系列的
Ajax传输
上一篇: s5pv210开发与学习:1.2安卓系统启动LOG
下一篇: PythonDay6