Spring MVC如何使用@RequestParam注解获取参数
使用@RequestParam注解获取参数
创建Hello控制器类
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class Hello {
@RequestMapping("/show")
public String show(@RequestParam("name")String userName) {
System.out.println(userName);
return "index";
}
}
创建index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>首页</title> </head> <body> <h3>Spring MVC</h3> </body> </html>
启动Tomcat并访问


注意:如果参数被@RequestParam注解,那么默认情况下该参数不能为空,如果为空则系统会抛出异常。如果希望允许为空,那么要修改它的配置项required为 false。
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class Hello {
@RequestMapping("/show")
public String show(@RequestParam(value="name",required=false)String userName) {
System.out.println(userName);
return "index";
}
}
启动 Tomcat再次访问


@RequestParam无法获取参数
application/x-www-form-urlencoded是以表格的形式请求,而application/json则将数据序列化后才进行传递,如果使用了@RequestParam会在Content里面查找对应的数据。
结果因为传递的数据已经被序列化所以不能找到,所以当要使用@RequestParam注解时候应当使用application/x-www-form-urlencoded,而如果想要使用application/json则应当使用@RequestBody获取被序列化的参数
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- Spring/SpringBoot @RequestParam注解无法读取application/json格式数据问题解决
- 聊聊@RequestParam,@PathParam,@PathVariable等注解的区别
- SpringMVC注解@RequestParam方法原理解析
- 亲测SpringBoot参数传递及@RequestBody注解---踩过的坑及解决
- 解决SpringMVC使用@RequestBody注解报400错误的问题
- springMvc注解之@ResponseBody和@RequestBody详解
- @ResponseBody 和 @RequestBody 注解的区别
- @RequestParam 和@RequestBody注解的区别解析
相关文章
java线程池prestartCoreThread prestartAllCoreThreads的预热源码解读
这篇文章主要介绍了java线程池prestartCoreThread prestartAllCoreThreads的预热源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-10
lombok注解@Data使用在继承类上时出现警告的问题及解决
Lombok的@Data注解简化了实体类代码,但在子类中使用时会出现警告,指出equals和hashCode方法不会考虑父类属性,解决方法有两种:一是在父类上使用@EqualsAndHashCode(callSuper=true)注解;二是通过配置lombok.config文件,均能有效解决警告问题2024-10-10
Spring Boot中自定义注解结合AOP实现主备库切换问题
这篇文章主要介绍了Spring Boot中自定义注解+AOP实现主备库切换的相关知识,本篇文章的场景是做调度中心和监控中心时的需求,后端使用TDDL实现分表分库,需要的朋友可以参考下2019-08-08
Intellij Idea 多模块Maven工程中模块之间无法相互引用问题
这篇文章主要介绍了Intellij Idea 多模块Maven工程中模块之间无法相互引用问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-01-01


最新评论