当前位置: 首页 > news >正文

SpringMVC 参数绑定详解SpringMVC 参数绑定详解(超全面)

一、什么是参数绑定

参数绑定:

SpringMVC 自动将请求参数赋值给方法参数。

例如:

http://localhost:8080/test?username=admin&age=18

SpringMVC 会自动封装。


二、基本类型绑定

Controller

@RequestMapping("/test") public String test(String username,Integer age){ System.out.println(username); System.out.println(age); return "success"; }

请求地址

http://localhost:8080/test?username=tom&age=20

三、JavaBean 参数绑定

User 实体类

public class User { private String username; private Integer age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }

Controller

@RequestMapping("/save") public String save(User user){ System.out.println(user.getUsername()); System.out.println(user.getAge()); return "success"; }

四、数组绑定

Controller

@RequestMapping("/hobby") public String hobby(String[] hobby){ for(String h : hobby){ System.out.println(h); } return "success"; }

请求参数

hobby=篮球&hobby=足球&hobby=羽毛球

五、List 集合绑定

VO 类

public class UserVO { private List<User> list; public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } }

前端参数

list[0].username=tom list[0].age=20 list[1].username=jack list[1].age=18

六、@RequestParam 注解

基本使用

@RequestMapping("/demo") public String demo(@RequestParam("name") String username){ System.out.println(username); return "success"; }

请求地址

/demo?name=admin

七、@RequestBody 注解

接收 JSON 数据

@RequestMapping("/json") public String json(@RequestBody User user){ System.out.println(user.getUsername()); return "success"; }

JSON 数据

{ "username":"admin", "age":20 }

八、RESTful 风格

什么是 RESTful

RESTful 风格:

通过 URL 表示资源。

例如:

/user/1 /user/2 /user/3

九、@PathVariable 使用

@RequestMapping("/delete/{id}") public String delete(@PathVariable("id") Integer id){ System.out.println(id); return "success"; }

请求地址

/delete/1

十、面试题

1、@RequestParam 和 @PathVariable 区别?

@RequestParam

用于获取请求参数。

?id=1

@PathVariable

用于获取路径参数。

/user/1

十一、总结

参数绑定是 SpringMVC 最核心的内容之一。

重点掌握:

  • 基本类型绑定

  • JavaBean 绑定

  • 集合绑定

  • @RequestParam

  • @RequestBody

  • RESTful

  • @PathVariable

http://www.jsqmd.com/news/796604/

相关文章:

  • ARM TLB失效指令详解:VAE1OS与VAE1OSNXS
  • 深度解析:FanControl如何通过硬件抽象层实现跨平台风扇精准控制
  • Agent并发神器Fiber体系详解
  • 2026 年昆明高考志愿填报机构收费标准
  • 从一次SQL注入报错深入理解MySQL排序规则(collation)的匹配与冲突
  • 成都洁祥瑞保洁服务:新津石材翻新推荐几家 - LYL仔仔
  • 国际云服务商使用的常见问题分析
  • STM32F103 Flash读写避坑大全:从解锁失败到数据错乱的7个常见问题复盘
  • RAG 效果差?可能是你的“分块策略”没选对!
  • ARM异常处理与SPSR寄存器深度解析
  • 为什么 AI Agent Harness Engineering 需要多模态:视觉、语音与文本融合的架构设计
  • MySQL索引“全家桶”大起底:主键、唯一、普通、全文、前缀……到底该Pick谁?
  • 2026年物流单印刷性价比大比拼,谁是行业黑马?
  • 银川买景观石、做假山?找宁夏自然风,20年行业经验,全产业链服务,自有矿山和仓储基地 - 宁夏壹山网络
  • 别再盲目用ChatGPT搜资料了,Perplexity的实时学术溯源能力已领先2.3个版本迭代,这6类高风险场景你还在踩坑?
  • 【备考高项】模拟预测题(三)论文及写作思路详解
  • 生物滤池除臭箱技术解析及合规供应企业盘点 - 奔跑123
  • 告别Win10任务栏假死:从“资讯和兴趣”到组策略的根治指南
  • 3个理由告诉你为什么每个开发者都需要Markdown Viewer浏览器扩展
  • 3分钟掌握智能棋局分析:免费AI象棋助手的终极解决方案
  • 言知信实测:广州口碑好的留学中介推荐
  • Fooocus AI图像生成:3分钟上手的免费离线创作神器
  • 揭秘Midjourney V6 Chlorophyll印相底层逻辑:Prompt工程×色彩通道映射×植物叶绿素光谱建模(附17组实测参数)
  • 带fp8激活量化的RMSNorm算子手撕
  • GESP认证C++编程真题解析 | 202512 六级
  • 玻璃钢生物除臭箱技术选型与主流厂商实测对比 - 奔跑123
  • 从仿真到实践:三相SPWM并网逆变器的电流环PI参数整定心得(附PSIM波形分析)
  • Python自动化办公新思路:5分钟教你用Pywinauto+Lackey批量操作电脑软件(以Tim自动登录发消息为例)
  • 3分钟上手:用Apollo Save Tool玩转你的PS4游戏存档
  • MTK ISP 图像质量调优实战:从RAW图仿真到参数固化