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

SpringMVC对请求参数的处理

如何获取SpringMVC中请求中的信息 ? 默认情况下,可以直接在方法的参数中填写跟请求参数一样的名称,此时会默认接受参 数 ,如果有值,直接赋值,如果没有,那么直接给空值 。

@Controller
@RequestMapping("/params") 
public class ParamsController {@RequestMapping("/param01")public String param01(String username){System.out.println(username);return "index";}}

接下来访问: http://localhost:8080/springmvc/param01?username=test

对应方法参数中的username值为test

如果请求的参数跟处理方法的参数名不一致呢?

使用 @RequestParam 管理请求参数

如果用了这个注解之后,默认必须要传入值,如果不传入值则报400(参数类型不匹配)错误,

如果不用这个注解,如果没有传入会自动传入null

  • value 用来重命名参数

  • required 用来指定参数是否必须传入值

true 默认 必须要传入, 如果没有传入则会报错:

HTTP Status 400 - Required String parameter 'username' is not present

false 可以不用必须传入值 ,如果没有传入会自动传入null

注意:不要用基础数据类型,因为基础数据类型无法接收null(会报500错)

  • defaultValue 默认值,当参数为null的时候会自动设置一个默认值

注意:当设置了默认值可以省略required=false

   @RequestMapping("/param01")public String param01(@RequestParam(value="name",required = true) String username){System.out.println(username);return "index";}

接下来可以访问: http://localhost:8080/springmvc/param01?name=test

http://www.lryc.cn/news/2239.html

相关文章:

  • 12年老外贸的经验分享
  • 电子电路中的各种接地(接地保护与GND)
  • php实现农历公历日期的相互转换
  • 基于SpringBoot的房屋租赁管理系统的设计与实现
  • 一文带你为PySide6编译MySQL插件驱动
  • 图论算法:树上倍增法解决LCA问题
  • Java线程池中submit() 和 execute()方法有什么区别
  • Vue.extend和VueComponent的关系源码解析
  • 【动态规划】01背包问题(滚动数组 + 手画图解)
  • javaEE 初阶 — 超时重传机制
  • 小米5x wlan无法打开解决
  • 负载均衡之最小活跃数算法
  • JavaScript 评测代码运行速度的几种方法
  • Linux 编译器 gcc/g++
  • 2.Java基础【Java面试第三季】
  • Java高级-多线程
  • mysql高级(事务、存储引擎、索引、锁、sql优化、MVCC)
  • Java后端开发功能模块思路
  • CAPL(vTESTStudio) - DoIP - TCP发送_05
  • 使用IntelliJ IDEA搭建datax-web开发环境
  • [SSD固态硬盘技术 14] GC垃圾回收太重要了
  • lamada表达式、stream、collect整理
  • Nacos 入门微服务项目实战
  • 【c++】类和对象:让你明白“面向一个对象有多重要”:构造函数,析构函数,拷贝构造函数的深入学习
  • 职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!
  • 【光伏功率预测】基于EMD-PCA-LSTM的光伏功率预测模型(Matlab代码实现)
  • 大数据Kylin(二):Kylin安装使用
  • 我们的微服务中为什么需要网关?
  • 互联网医院源码 线上问诊 智慧医院源码 C#源码
  • 基于昇腾计算语言AscendCL开发AI推理应用