SpringMVC接受请求参数
时间:2022-07-22
本文章向大家介绍SpringMVC接受请求参数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
数据传送到控制器的方法:
- 查询参数
- 表单参数
- 路径变量
获取查询路径中参数@PathVariable
@RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
public String addUser4(@PathVariable String username,@PathVariable String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
在RequestMapping中配置参数名,同时与方法的参数名相同,需要在前面加上@PathVariable注解
http://localhost:8080/WxProgram/zhang/123
用注解@RequestParam绑定请求参数到方法入参
@RequestMapping(value="/addUser6",method=RequestMethod.GET)
public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)
defaultValue:默认值,如果设置了该值,required 将自动设为 false,
无论你是否配置了required,配置了什么值,都是 false(可选配置)
http://localhost:8080/WxProgram?username=zhang&password=123
当然也可以不使用@RequiredParam注解,直接去掉,只有参数名和controller方法中参数名相同即可。
通过HttpServletRequest接收
post方式和get方式都可以
@RequestMapping("/addUser2")
public String addUser2(HttpServletRequest request) {
String username=request.getParameter("username");
String password=request.getParameter("password");
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}
通过一个bean来接收
@RequestMapping("/addUser3")
public String addUser3(UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "demo/index";
}
post方式和get方式都可以
User和要传的参数一致
也可以在前面加上@ModelAttribute注解
使用@ModelAttribute注解获取POST请求的FORM表单数据
@RequestMapping(value="/addUser5",method=RequestMethod.POST)
public String addUser5(@ModelAttribute("user") UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "demo/index";
}
- 如何优化coding
- 在PowerShell中使用curl(Invoke-WebRequest)
- linux centos中添加删除修改环境变量,设置java环境变量
- CentOS7下安装mysql5.6修改字符集为utf8并开放端口允许远程访问
- CentOS7下mysql5.6修改默认编码
- 在idea中maven项目jdk编译version总是跳到1.5
- 命令行打印文件树列表: tree
- JavaScript 获取鼠标及元素在页面上的位置
- Spring cache简单使用guava cache
- SpringMVC参数校验(针对`@RequestBody`返回`400`)
- Java8学习(3)- Lambda 表达式
- Java8 in action(1) 通过行为参数化传递代码--lambda代替策略模式
- java中byte, iso-8859-1, UTF-8,乱码的根源
- 如何启动一个本地静态服务器
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- dotnet 让 C# 可以通过动态生成 HLSL 使用 DX12 的 GPU 并行计算库 ComputeSharp 的简介
- 比对软件STAR创建索引文件(index)
- linux|无需解压查看压缩文件内容
- R函数不会写,"抄"总会吧!
- @Resource和@Autowire的区别
- R函数,如何“抄”出水平
- 【STM32H7】第1章 当前主流的小型嵌入式GUI
- 链表反转的两种实现方法,后一种击败了100%的用户!
- envoy filter 开发实践系列 1:官网 echo 示例编译测试
- [Jmeter]---JsonPath表达式提取响应&断言
- envoy filter 开发实践系列 2:官网 http filter 示例编译测试
- 快速入门ElasticSearch
- 如何用 JS 一次获取 HTML 表单的所有字段 ?
- Docker与容器
- Go 每日一库之 air