接入商网站备案,外贸业务员做网站,购物网站推广方案,网站里自己怎么做推广Spring MVC数据传递一、前端到后端的数据传递1. 使用 RequestParam 传递简单参数2. 使用 PathVariable传递路径参数3. 使用RequestBody传递 JSON 数据二、后端到前端的数据传递1. 使用Model或 ModelAndView传递数据到前端2. 使用HttpServletResponse直接写回数据3.使用Response…
Spring MVC数据传递一、前端到后端的数据传递1. 使用 RequestParam 传递简单参数2. 使用 PathVariable传递路径参数3. 使用RequestBody传递 JSON 数据二、后端到前端的数据传递1. 使用Model或 ModelAndView传递数据到前端2. 使用HttpServletResponse直接写回数据3.使用ResponseBody将后端数据用JSON格式发送前端注意事项一、前端到后端的数据传递
1. 使用 RequestParam 传递简单参数
应用于处理页面标签名称和方法参数名称不一致可以使用此注解实现对应关系
适用于获取 URL 或表单中的简单参数如 ?namevalue。 后端代码示例 //将带来的数据msg作为参数传入方法并在方法中使用RequestMapping(/show1)public String show1(RequestParam(msg) String msg1){System.out.println(接受到用户发送数据为:msg1);return success;//跳转至成功页面}前端调用方式
URL 直接传递/show1?msg25表单提交时拼接参数。 RequestParam的defaultValue 属性设置默认值
//接收到uname的值则传递 未接收到值返回默认值“暂无用户”RequestMapping(/show2)public String show2(RequestParam(name uname,defaultValue 暂无用户) String name){System.out.println(接受到用户发送数据为:name);return success;//跳转至成功页面}前端调用方式
URL 直接传递/show2?unamexxy如果直接访问/show2 则返回 “暂无用户” 2. 使用 PathVariable传递路径参数
用于绑定 url 中的占位符。 从 URL 路径中获取动态参数RESTful 风格。 后端代码示例
//命名不一致时要在注解内带名称值RequestMapping(/show3/{uname}/{pwd})public String show3(PathVariable(uname) String msg1, PathVariable(pwd) String msg2){System.out.println(接受到用户发送数据为:msg1 msg2);return success;//跳转至成功页面}前端调用方式
直接访问/show3/xxy/1234567 //命名一致时PathVariable内不用带名称值PostMapping(/show4/{uname}/{pwd})public String show4(PathVariable String uname, PathVariable String pwd){System.out.println(uname);System.out.println(pwd);return success;}前端调用方式
直接访问/show4/xxy/1234567 3. 使用RequestBody传递 JSON 数据 JSONJava对象接收前端传递的 JSON 格式数据并自动转换为 Java 对象。 后端代码示例 //RequestBody传入一个对象信息在body中用json传递// {eid:123,// ename:xxy,// esex:女}RequestMapping(/show5)public String show5(RequestBody Emp emp){System.out.println(接受到用户发送数据为:emp);return success;//跳转至成功页面}前端调用方式在body体中用json字符串传值 要用除GET请求以外的请求方式GET请求无body体 {eid:123,ename:xxy,esex:女}二、后端到前端的数据传递
1. 使用Model或 ModelAndView传递数据到前端
适用于服务端渲染如 Thymeleaf、JSP。 后端代码示例
GetMapping(/profile)
public String profile(Model model) {model.addAttribute(username, John);return profile; // 返回视图名称
}前端页面Thymeleaf 示例
p th:textUsername: ${username}/p2. 使用HttpServletResponse直接写回数据
手动通过响应对象返回数据。 后端代码示例
GetMapping(/message)
public void getMessage(HttpServletResponse response) throws IOException {response.getWriter().write(Hello from server);
}3.使用ResponseBody将后端数据用JSON格式发送前端 Java对象JSON后端代码示例 RequestMapping(/show01)ResponseBodypublic ListEmp show01(){Emp emp1new Emp(1,XXY,女);Emp emp2new Emp(2,xhn,男);Emp emp3new Emp(3,xxx,女);ListEmp listnew ArrayList();list.add(emp1);list.add(emp2);list.add(emp3);return list;}前端显示(json格式输出对象信息)
[{eid: 1,ename: XXY,esex: 女},{eid: 2,ename: xhn,esex: 男},{eid: 3,ename: xxx,esex: 女}
]注意事项
Content-Type 匹配RequestBody 需前端设置 application/json而 RequestParam 默认支持 x-www-form-urlencoded。参数校验结合 Valid 注解对传递的数据进行校验如 Bean Validation。跨域问题若前后端分离开发需配置 CrossOrigin 或全局 CORS 规则。