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";
    }
相关推荐
程序员爱钓鱼7 小时前
Rust Copy详解:隐式复制与轻量数据类型
前端·后端·rust
Patrick在香港7 小时前
Python Docker镜像从1.2GB到89MB:多阶段构建的完整优化实录
java·python·docker·信息可视化·容器·数据分析·ai编程
上海安当技术7 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
我是唐青枫8 小时前
Java JCommander 实战详解:用注解解析命令行参数
java·开发语言
大鹏说大话8 小时前
C++ 内存布局详解:类、虚函数、虚表底层原理
java·开发语言
仙人球部落 揞殺8 小时前
细说ASP.NET的各种异步操作
后端·asp.net
还是鼠鼠8 小时前
Spring AI连接DeepSeek与通义千问:application.yaml配置详解
java·通义千问·spring ai·deepseek
计算机小白一个9 小时前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯
卷无止境10 小时前
当独立开发者也能造出3A画质的游戏:Godot引擎深度解析
后端·python·godot
sunburn-10 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea