服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Spring MVC如何使用@RequestParam注解获取参数

Spring MVC如何使用@RequestParam注解获取参数

2022-02-28 00:30云淡风轻58 Java教程

这篇文章主要介绍了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并访问

Spring MVC如何使用@RequestParam注解获取参数

Spring MVC如何使用@RequestParam注解获取参数

注意:如果参数被@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再次访问

Spring MVC如何使用@RequestParam注解获取参数

Spring MVC如何使用@RequestParam注解获取参数

 

@RequestParam无法获取参数

application/x-www-form-urlencoded是以表格的形式请求,而application/json则将数据序列化后才进行传递,如果使用了@RequestParam会在Content里面查找对应的数据。

结果因为传递的数据已经被序列化所以不能找到,所以当要使用@RequestParam注解时候应当使用application/x-www-form-urlencoded,而如果想要使用application/json则应当使用@RequestBody获取被序列化的参数

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/dwenxue/article/details/81354692

延伸 · 阅读

精彩推荐