Spring前后端传递参数的几种方法(转)

2023-11-06

Spring前后端传递参数的几种方法(转)

原文链接:

https://www.cnblogs.com/zc-blog-com/p/13360027.html.

一、准备工作

1.建立HelloController类

@RestController
public class HelloController {
//  @ResponseBody//将方法的返回值以json字符串的形式进行返回
    @RequestMapping("/hello.do")
    public String action() {
        System.out.println(123);
        return "null";
    }
}

2. 在webapp下建一个hello.html文件

在这里插入图片描述

hello.html文件中写一个表单

<body>
<form action="/hello.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交">
</form>
</body>

二、传值方法:

1.使用servlet,通过request请求

导入servlet依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
</dependency>

修改HelloController类里面的内容

@RestController
public class HelloController {

//    @ResponseBody//将方法的返回值以json字符串的形式进行返回

    @RequestMapping("hello.do")
    public String action(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        System.out.println(username+ " "+password);
        return null;
    }
}

username和password要和HTML里面的名字一样

运行项目,输入信息,可以在控制台看到输入的信息

在这里插入图片描述


2.通过反射,匹配参数名来注入值

(用的比较多一种方法,适用于参数较少)

修改HelloController类里面的内容

@RequestMapping("hello1.do")
    //通过反射,匹配参数名来注入值
    //java反射机制本身会注入失败,使用@RequestParam来解决。当有多个参数时,发现某个参数接收不到,可以试试这个注解
    public String action1(@RequestParam ("username")String username, String password) {
        System.out.println(username+ " "+password);
        return null;
    }
}

修改HTML内容

<form action="/hello1.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交1">
</form>

运行项目,输入信息,可以在控制台看到输入的信息


3.通过传递对象

(适用于参数比较多)

创建一个实体类User

在这里插入图片描述

引入lombok依赖

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.12</version>
</dependency>

这时User就会自动生成set,get方法

修改HelloController类里面的内容

//针对参数比较多时
@RequestMapping("hello2.do")
//通过反射,匹配参数名来注入值
public String action2(User user) {
    System.out.println(user);
    return null;
}

修改HTML内容

<form action="/hello2.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交2">
</form>

运行项目,输入信息,可以在控制台看到输入的信息


4.AJAX

https://blog.csdn.net/weixin_30765319/article/details/95006250
以上均为转载,自己学习记录,侵权立删

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring前后端传递参数的几种方法(转) 的相关文章

  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • 数据结构之概念与线性表

    算法 算法特征 1 有穷性 2 确定性 3 可行性 4 输入和输出 算法好坏评价 正确性 可读性 确定性 健壮性 效率和低存储 算法效率的度量 时间复杂度 空间复杂度 线性表 顺序存储 线性表 链式存储 指针实现 单链表 双链表 循环链表
  • 函数调用规范

    当高级语言函数被编译成机器码时 有一个问题就必须解决 因为CPU没有办法知道一个函数调用需要多少个 什么样的参数 即计算机不知道怎么给这个函数传递参数 传递参数的工作必须由函数调用者和函数本身来协调 为此 计算机提供了一种被称为栈的数据结构
  • QT5之信号槽概念以及实现机制

    概念 当一件事情发生之时便会发送一个信号 而槽就是一个函数 被用来响应这个信号当信号发生之时 关联方式 一个信号关联一个槽 connect Object1 SIGNAL signal Object2 SLOT slot signal1为对象
  • 如何在Linux中安装jdk?

    如何在Linux中安装jdk 学习目标 如何在Linux中安装jdk 1 先创建一个新的虚拟机 一共13步创建好虚拟机 2 配置虚拟机 3 在虚拟机中安装JDK 1 先创建一个新的虚拟机 一共13步创建好虚拟机 我使用的是VMware Wo
  • NIO群聊

    服务端 package nio import java io IOException import java net InetSocketAddress import java nio ByteBuffer import java nio
  • Python实验二 顺序结构程序设计

    1 阅读下面程序 i j 3 4 i j 2j i s i j print s s i j 3 4 i j 2j i s i j print s s i j 3 4 i j 2 j i s i j print s s 2 写出下列程序执行结
  • 腾讯云批量上传文件(前端)

    腾讯云批量上传文件 前端 前言 1 腾讯云上传文件 遍历调用上传方法 2 根据文件文件后缀名判断上传成功后 文件的回显形式 3 在腾讯云建立存储桶 需要后端配合写上传接口 线上测试 1 效果样式 如下 1 引入cos js sdk v5 j
  • 解决Mybatis-plus高版本不向后兼容的问题

    mybatis plus插件后面的版本没有兼容低版本 即 不存在低版本中EntityWrapper这个类了 而该类采用数据库表真实字段名作查询条件 这样硬编码形式确实不友好 比如如果后面数据库表中字段更名那么所有涉及到的业务都需要去修改 且
  • 2021年五一建模B赛题+思路

    背景 随着我国经济的高速发展 城市空间环境复杂性急剧上升 各种事故灾害频发 安全风险不断增大 消防救援队承担的任务也呈现多样化 复杂化的趋势 对于每一起出警事件 消防救援队都会对其进行详细的记录 某地有15个区域 分别用A B C 表示 各
  • ElasticSearch常用配置(内置账号密码修改、自定义角色自定义账号,日志定期删除等)...

    自定义内置账号 账户elastic为elasticsearch超级管理员 拥有所有权限 账户kibana用于kibana组件获取相关信息用于web展示 账户logstash system用于logstash服务获取elasticsearch
  • EasyAR脱卡方法

    首先说下大致思路 当卡片离开摄像头时间 ImageTarget Image的SetActive false 所以其子物体 model 也就不显示了 因此解决的办法就是在Target false 时间将模型放到一个合适的位置 这样就能实现脱卡
  • Fabric配置fabric-sample工程目录,并生成证书

    GitHub上的fabric sample工程 默认只有源码 缺少CA工具和加密工具 它需要从其他地方下载CA工具和加密工具 这里以fabric v1 4 0为例进行说明 步骤如下 1 下载fabric sample v1 4 0源码 官网
  • ABA问题

    这篇文章 http oceanbase org cn p 82 的第6小节讲述了Hazard Version的实现原理 它的设计思想最早由OB团队的席华锋提出 本文不再赘述 本文主要分享Hazard Version的实现要点 以及使用它实现
  • 【Hashmap】底层原理详解(JAVA 18)

    让我们在IDEA中打开HashMap源码 开始往下看 HashMap 继承自AbstractMap 实现了Map接口 HashMap类中定义了很多的默认值 比如默认初始容量 最大容量 加载因子等 HashMap底层基于数组 链表 红黑树 H
  • 【C++拷贝构造函数、深拷贝和浅拷贝】

    C 拷贝构造函数 深拷贝和浅拷贝的介绍与应用 1 引言 在C 中 拷贝构造函数和拷贝操作是用于创建对象的副本的重要概念 拷贝构造函数用于在创建新对象时初始化其值 而拷贝操作用于将一个对象的值复制到另一个对象 深拷贝和浅拷贝是两种不同的拷贝方
  • 针对Anaconda-navigator和spyder打不开的问题

    胡乱安装pyqt和qtpy等会导致qt的依赖混乱 以致于ananconda navigator和spyder会有打不开的情况发生 解决的办法有 1 常规套路 参考 https www cnblogs com zlslch p 8066662
  • EyygDlHuwc

    test
  • oracle 联机文档下载

    http www oracle com technetwork indexes downloads index html database setup2
  • dll破解

    1 安装Reflector 并用打开需要破解的Dll 分析并找到 需要调整的程序段 2 采用ildasm exe 将 dll 编译为 IL文件 3 采用UltraEdit NotePad 打开IL文件 找到对应的IL 代码 并将其修改 4
  • Spring前后端传递参数的几种方法(转)

    Spring前后端传递参数的几种方法 转 原文链接 一 准备工作 1 建立HelloController类 2 在webapp下建一个hello html文件 hello html文件中写一个表单 二 传值方法 1 使用servlet 通过