Java后端中如何随意接收参数

目录

一、参数名相同

二、参数名不同,使用@RequestParam注解


大概访问流程是:先访问test控制器,test控制器跳转到index页面(此时index页面收到了test控制器传来的数据),然后在index页面跳转到t5控制器(此时t5控制器获取了传递的数据:id和name)

两种方式获取参数

(1)参数名要相同

(2)参数名可以不同,但是要使用@RequestParam注解

一、参数名相同

test控制器

java 复制代码
  @RequestMapping("/test")
    public String test(Model model){
        model.addAttribute("id","19999");
        model.addAttribute("name","zhangsan");
        return "index";
    }

index页面

html 复制代码
<div><a th:href="@{t5(id=${id},name=${name})}">连接</a></div>

t5控制器

java 复制代码
@RequestMapping("/t5")
    public String t5(String id, String name){
        System.out.println("id="+id+" name="+name);
        return "index2";
    }

二、参数名不同,使用@RequestParam注解

@RequestParam是Spring框架中用于获取请求参数的注解。它可以用于将请求参数的值绑定到方法的参数上。具体来说,@RequestParam注解可以用于获取GET请求中的查询参数或者POST请求中的表单参数。

@RequestParam注解有以下几个常用属性:

  1. value:指定要绑定的请求参数的名称。例如,如果请求参数的名称为"name",则可以使用@RequestParam(value = "name")来绑定该参数。
  2. required:指定该请求参数是否是必需的,默认为true,表示必需。如果设置为false,当请求中没有该参数时,方法的参数将被设置为null。
  3. defaultValue:指定当请求中没有该参数时的默认值。例如,可以使用@RequestParam(value = "name", defaultValue = "defaultName")来指定默认值为"defaultName"。

写法例如:

复制代码
@RequestParam(name = "id",defaultValue = "op",required = false)

test控制器

java 复制代码
  @RequestMapping("/test")
    public String test(Model model){
        model.addAttribute("id","19999");
        model.addAttribute("name","zhangsan");
        return "index";
    }

index页面

html 复制代码
<div><a th:href="@{t5(id=${id},name=${name})}">连接</a></div>

t5控制器

java 复制代码
 @RequestMapping("/t5")
    public String t5(@RequestParam("id") String uid, String name){
        System.out.println("id="+uid+" name="+name);
        return "index2";
    }
相关推荐
你们补药再卷啦8 分钟前
不用额外下载jar包,idea快速查看使用的组件源码
java·ide·intellij-idea
爱的叹息22 分钟前
Spring Boot 自定义配置类(包含字符串、数字、布尔、小数、集合、映射、嵌套对象)实现步骤及示例
java·linux·spring boot
techdashen26 分钟前
Rust主流框架性能比拼: Actix vs Axum vs Rocket
开发语言·后端·rust
普通网友26 分钟前
内置AI与浏览器的开源终端Wave Terminal安装与远程连接内网服务器教程
开发语言·后端·golang
Gvemis⁹1 小时前
Scala总结(八)
开发语言·后端·scala
@西瓜@1 小时前
JAVAEE(多线程-线程池)
java·开发语言
returnShitBoy2 小时前
Go语言中的垃圾回收是如何工作的?
java·jvm·golang
Asthenia04122 小时前
详细解析Canal如何解析MySQL Binlog+Json格式的细节
后端
有什么东东2 小时前
山东大学软件学院创新项目实训开发日志(9)之测试前后端连接
java
zhangpeng4555479402 小时前
用Java写一个MVCC例子
java·开发语言