SpringMVC处理ajax请求之@ResponseBody注解,将后端数据响应到浏览器

上一篇文章讲到SpringMVC处理ajax请求用到的@RequestBody注解SpringMVC处理ajax请求(@RequestBody注解),ajax向后端传递的数据格式详解-CSDN博客,这个注解帮我们解决了如何将客户端的数据通过json数据传递到服务器,简单说此功能就是我们在一个网站上想添加某个信息到服务器的数据库也就是”增删改查“中的增,而这篇文章就是”查“!我们使用SpringMVC提供的@ResponseBody注解,将控制器中方法的返回值(”查到的数据“)拿到前端显示出来,本篇文章用到的前端模板引擎技术为Thymeleaf。

@ResponseBody用于标识一个控制器方法,可以将该方法的返回值直接作为响应报文的响应体响应到浏览器。

具体功能实现:例,点击一个按钮,显示一个user对象包含的信息。是从后端传json数据到前端显示

本次实验我们需要实现的功能是将控制器封装好的User对象封装到List集合响应到浏览器。

User实体类:

@ResponseBody注解

@RequestBody可以获取请求体信息,使用@RequestBody注解标识控制器方法的形参,当前请求的请求体就会为当前注解所标识的形参赋值。

1、定义一个控制器方法

通过请求实现对网页的访问。SpringMVC实现对网页的访问,在请求控制器中创建处理请求的方法-CSDN博客

@RequestMapping:处理请求和控制器方法之间的映射关系实现对网页的访问

使用@ResponseBody注解标识控制器方法,在方法中,将需要转换为json字符串并响应到浏览器的java对象作为控制器方法的返回值,此时SpringMVC就可以将此对象直接转换为json字符串并响应到浏览器。

@Controller
public class ResponseController {//响应浏览器list集合@RequestMapping("/test/ResponseBody/json")@ResponseBodypublic List<User> testResponseBody(){User user1 = new User(1001,"admin1","123456",23,"男","2023@qq.com");User user2 = new User(1002,"admin2","123456",23,"男","2023@qq.com");User user3 = new User(1003,"admin3","123456",23,"男","2023@qq.com");List<User> list = Arrays.asList(user1, user2, user3);return list;}
}

服务器处理ajax请求之后,大多数情况都需要向浏览器响应一个java对象,此时必须将java对象转换为json字符串才可以响应到浏览器,之前我们使用操作json数据的jar包gson或jackson将java对象转换为json字符串。在SpringMVC中,我们可以直接使用@ResponseBody注解实现此功能。

2、导入jackson依赖

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.1</version>
</dependency>

SpringMVC的配置文件中设置开启mvc的注解驱动

<!--开启mvc的注解驱动-->
<mvc:annotation-driven />

3、网页获取值

点击按钮,将值作为一个表单显示到浏览器

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title><base th:href="@{/}"><script th:src="@{/static/js/jquery-1.7.2.js}"></script>
</head>
<body>
<input type="button" value="测试@RespondBody响应浏览器json格式的数据" onclick="testRequestBody()"><br>
<table border="1" id="tid"></table>
</body>
</html>
<script>function testRequestBody(){$.post("test/ResponseBody/json","",function (data){for (var i = 0; i < data.length; i++) {$("#tid").append("<tr><td>"+data[i].id+"</td><td>"+data[i].username+"</td></tr>")}})}
</script>

最终结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据探索与可视化:可视化分析数据关系-中

目录 一、前言 二、介绍 Ⅰ.一个分类变量和一个连续变量 Ⅱ.两个分类变量的一个连续变量 Ⅲ.两个分类变量和两个连续变量 Ⅳ.一个分类变量和多个连续变量 ①.平行坐标轴 ②.矩阵散点图 三、结语 一、前言 在做数据分析的时候&#xff0c;很少会遇到连续变量和分类变量…

PyTorch如何支持 GPU 加速计算

在 PyTorch 中&#xff0c;torch.Tensor 是核心的数据结构&#xff0c;它与 NumPy 的 ndarray 类似&#xff0c;用于存储和操作多维数据。但与 NumPy 不同的是&#xff0c;PyTorch 的 Tensor 除了能在 CPU 上运行之外&#xff0c;还能够无缝地利用 GPU 进行计算加速。 GPU 加速…

读千脑智能笔记01_新皮质

作者简介 1988年至1992年&#xff0c;创造了平板电脑GridPad&#xff0c;它属于第一批平板电脑 1992年&#xff0c;成立了Palm公司&#xff0c;之后在长达10年的时间内&#xff0c;设计了一些最早的掌上电脑和智能手机&#xff0c;如PalmPilot和Treo 在2002年创立了红木神经科学…

《HTML 简易速速上手小册》第9章:HTML5 新特性(2024 最新版)

文章目录 9.1 HTML5 新增标签和属性9.1.1 基础知识9.1.2 案例 1&#xff1a;创建一个结构化的博客页面9.1.3 案例 2&#xff1a;使用新的表单元素创建事件注册表单9.1.4 案例 3&#xff1a;创建一个具有高级搜索功能的搜索表单 9.2 HTML5 表单增强9.2.1 基础知识9.2.2 案例 1&a…

VScode注释快捷键,RStudio注释快捷键, Texmaker注释快捷键

VScode&#xff1a;一款界面简单的代码编辑器&#xff1b;RStudio: R语言的IDE&#xff0c;包含代码编辑器&#xff0c;运行&#xff0c;绘图窗口等&#xff1b;Texmaker&#xff1a;Latex编译器&#xff08;编辑编译&#xff09;&#xff0c;界面简单&#xff0c;个人认为比Te…

ArrayList的扩容机制详解,解决面试难题!

前言 大家好&#xff0c;我是chowley&#xff0c;不知各位在面试中&#xff0c;是否被问过 ‘读没读过相关框架的源码&#xff1f;’ 这个经典问题&#xff1f;我最近就遇到了&#xff0c;虽然我之前读过&#xff0c;但这玩意干读不进味啊 今天我就来讲讲ArrayList&#xff0…

揭秘远程控制APP的便捷之美!

在这个科技日新月异的时代&#xff0c;我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机&#xff0c;你是否也有遇到过需要远程操作自己某一台手机的场景呢&#xff1f;今天&#xff0c;我要向大家推荐一款神奇的手机远程操作神器&#xff0c;让你可以随时随地…

Kore.ai获10亿元融资,提供定制化类ChatGPT助手

1月31日&#xff0c;生成式AI和企业对话平台Kore.ai在官网宣布&#xff0c;获得1.5 亿美元&#xff08;约10.7亿元&#xff09;融资。本次由FTV Capital 领投&#xff0c;英伟达等跟投。 Kore.ai主要提供银行、医疗、零售、营销、人力资源等多种领域的&#xff0c;定制化类Cha…

【动态规划】【C++算法】1340. 跳跃游戏 V

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode1340跳跃游戏 V 给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到&#xff1a; i x &#xff0c;其中 i x < arr.length 且 0 < x…

zsh: command not found: mysql (mac通过安装MySQL后终端cmd找不到mysql命令)

考虑是mysql环境变量没有配置的问题 1.查找mysql安装路径 ps -ef|grep mysql 2.先启动上安装的mysql 3. 查看 .bash_profile 文件 ls -al 查看是否有(.bash_profile)文件 如果没有就输入以下命令创建一个&#xff0c;再查看 touch .bash_profile 4.打开 .bash_profile 文件 …

C++——析构函数

C——析构函数 什么是析构函数 析构函数是C中的一个特殊的成员函数&#xff0c;它在对象生命周期结束时被自动调用&#xff0c;用于执行对象销毁前的清理工作。析构函数特别重要&#xff0c;尤其是在涉及动态分配的资源&#xff08;如内存、文件句柄、网络连接等&#xff09;…

Android 8.1 设置--声音中增加通话音量

Android 8.1 设置--声音中增加通话音量 近来收到项目需求&#xff0c;想要在设置--声音中增加一项通话音量调节&#xff0c;具体修改参照如下&#xff1a; /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml <!-- Sound: Title for the opt…

ARM/CM3/CM4:读写内核寄存器和内核特殊寄存器

方式1&#xff1a;内联汇编&#xff0c;所以跟C编译器有关&#xff0c;有些编译器可能会不支持&#xff08;每种编译器内联汇编的形式都不一样&#xff09;&#xff0c;本代码在MDK的“defaul compiler version 6”编译器里测试通过。 uint32_t core_res_c;void set_core_res(…

kubekey网页版安装k8s集群操作流程

kubekey可以一键拉起k8s集群并完成kubesphere的部署&#xff0c;以后kubekey简称kk。kk 3.2版本以前都是在宿主机上完成对应的创建集群、添加节点、升级等操作的&#xff0c;3.2版本后开始往页面操作的方向演进&#xff0c;kk 3.2版本现在还是alpha&#xff0c;所以不推荐在生产…

C语言数组:从入门到进阶

前言&#xff1a; 在这篇博客中&#xff0c;我们将学习如何使用C语言数组的基本知识。数组是C语言中的一种重要数据结构&#xff0c;它允许我们存储一系列相同类型的数据。我们将讨论数组的定义、初始化、访问元素、遍历数组以及数组的应用场景。此外&#xff0c;我们还将通过…

MySQL基础查询篇(1)-使用GROUP BY分组数据

在MySQL数据库中&#xff0c;GROUP BY语句是一种用于分组数据的非常有用的功能。它允许我们根据指定的列将数据行分组为不同的集合&#xff0c;并对每个组应用聚合函数。这使得我们能够从大量数据中提取所需的汇总信息。 首先&#xff0c;让我们看一个简单的示例。假设我们有一…

SpringBoot使用Rabbit详解含完整代码

1. 摘要 本文将详细介绍如何在Spring Boot应用程序中集成和使用RabbitMQ消息队列。RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;用于通过轻量级和可靠的消息在应用程序或系统之间进行异步通信。本文将通过步骤说明、代码示例和详细注释&#xff0c;指导读者在Spring…

【数据分享】1929-2023年全球站点的逐年最高气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2023年全球气象站…

python如何实现异步并发

下面是一个示例代码&#xff0c;展示了如何设计一个异步线程池&#xff0c;并实现线程池满了就等待&#xff0c;空了就继续扔的功能&#xff1a; import concurrent.futures import time # 创建一个线程池 thread_pool concurrent.futures.ThreadPoolExecutor(max_workers8) …

Oracle 如何强制重构索引

在Oracle数据库中&#xff0c;当索引变得碎片化或性能下降时&#xff0c;通常建议对索引进行重构。重构索引可以消除碎片&#xff0c;提高查询性能&#xff0c;并维护索引的完整性。在Oracle中&#xff0c;你可以使用ALTER INDEX语句来强制重构索引。 下面是强制重构索引的一般…