SpringMVC跳转

news2024/9/21 1:45:36

转发:

1:添加成功跳转到成功页面,给出提示,失败跳转到失败页面  ---- jsp

2:添加成功后,跳转到查询的controller中  -- 另外一个程序,添加完成之后,执行查询所有的操作,跳转到所有的用户列表

3:在查询的controller中是否能够获取第一个controller中传递的参数

重定向:

1:添加成功之后重定向到页面,失败后也是定向到失败页面

2:使用重定向,跳转到controller中的其他方法

3:重定向跳转到第二个controller中,获取参数

1:转发到页面

注意:springmvc默认使用的就是转发技术,

完整的写法是:return “forward:/xx.jsp”; / - 指的是web目录,一层一层往下查找,注意:此时不走springmvc的试图解析器。

如果希望返回时走试图解析器的话,直接写一个简单的字符串即可,如:return “hello”;此时就会做视图的拼接。

2:转发到controller

转发到其他的方法:

完整的写法为return forward:/类上的路径/方法上的路径.do; 这个是通用的。

如果调用方法和目标方法在同一个类中,则可以简化写法:return “方法上的路径.do”;

需求:添加一个用户信息,添加完成之后,访问查询

所有的方法,并且将刚刚添加的用户信息,添加到所有

用户信息的集合中,展示在页面上。

查询所有用户信息不接受参数。

3:转发携带参数

可以使用request对象来传递参数

2:重定向

1:重定向到页面

语法 : return redirect:/xxx.jsp

注意:重定向也需要 /

需求:用户登录错误之后重定向到登录页面

2:重定向到controller

return “redirect:/类上的requestMapping / 方法上的requestMapping ”

需求:登录成功之后,重定向到另外一个controller中的查询所有用户的方法,返回所有用户的列表

3:重定向携带参数问题

1:可以使用url的拼接, 在url后面通过?name=value的方式进行拼接

2:使用session传递具体的值, 在一个方法内存储在session的内容,可以在另外一个方法中获取

3:使用redirectAttributes 这个接口,在接受方法参数的前面要使用@ModelAttribute("key")来接受

3:springmvc两种跳转方式总结

转发:

转发到页面:return “forward:/具体的页面.jsp”; 如果配置了视图解析器的话同时页面也在指定的位置,return “视图名称”;

转发到方法:return “forward:/类上的路径/方法上的路径.do”, 如果目标方法是在一个类中的,可以直接写方法上的路径,return “queryUsers.do”;

参数携带:request,sesssion

重定向:

重定向到页面: return “redirect:/具体的页面.jsp”, / 指的是web文件夹

重定向到方法: return “redirect:/类上的路径/方法上路径”;

参数的携带:1,url的拼接,2:session, 3:RedirectAttributes,在接受的时候要使用@ModelAttribute("key")

2:响应时返回json

可以将java对象转换为json对象,在方法上添加@ResponseBody 注解即可

作用:java对象 --- 》 json对象

   Java集合  -- 》 json数组

补充:如果前端传递过来的是json对象呢

Json -- > java 对象 需要使用一个注解 @RequestBody

一般都需要引入第三方的依赖

注意 :

  1. 一般手动构建的是js对象,在前端中{}表示对象,但js对象不是json需要进行转换
  2. 将js对象转换为json数据使用 JSON.stringify(user);
  3. 使用ajax发送json数据的时候,只能使用post请求,同时需要指定类型为json

 

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

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

相关文章

Linux环境基础开发工具使用

Linux环境基础开发工具使用 文章目录Linux环境基础开发工具使用1.Linux软件包管理器 yum1.1 什么是软件包1.2 了解rzsz(文件传输工具)1.3 查看软件包1.4 安装与卸载软件指令1.5 更新yum源2.Linux开发工具介绍2.1 vi/vim开发工具介绍2.2 vi/vim的按键图解3.Linux编辑器---vim的使…

数字信号处理 | 实验二 MATLAB z换和z逆变换分析+求解差分方程+求解单位冲击响应+求解幅频相频特性曲线+求解零极点

1.实验目的 (1)掌握离散时间信号的z变换和z逆变换分析 (2)掌握MATLAB中利用filter函数求解差分方程; (3)掌握MATLAB中利用impz函数求解单位冲击响应h(n); (4)掌握MATLAB中利用freqz函数求解幅频特性曲线和相频特性曲线; (5)掌握MATLAB中利用zplane函…

Spring事务管理 | 数据库连接池流程原理分析

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 文章目录▌Spring事务管理环境搭建标准配置声明式事务总结▌SqlSessionFactoryXML 中构建 SqlSessionFactory获得 SqlSession 的实例代码实现▌作用域(Sco…

2022.11.20 学习周报

文章目录摘要论文阅读1.题目2.摘要3.网络结构3.1 网络示意图3.2 网络特点4.问题的提出5.正则化带有LSTM单元的RNNs5.1 LSTM单元5.2 具有 Dropout 的正则化6.实验6.1 语音建模6.2 语音识别6.3 机器翻译6.4 图像字幕生成7.结论深度学习Pytorch实现简单的RNN总结摘要 This week, …

总账科目 前台操作关事务代码及操作要点

目录 1、维护会计科目相关代码及要点 2、公司代码中的科目参数详解 1、维护会计科目相关代码及要点 事务代码:FSP0 在科目表中维护科目 操作例子:创建1001010100 现金-人民币 及40010001实收资本. 点保存后成功展示如下图 注意,后台必须的…

treeSelect树组件设置父节点禁用

前言: 项目开发中需求方提了这样一个需求:下拉框数据是树形结构,但父节点禁止点选,只能点击子节点。毫无疑问,选用的是 ant design vue 组件库的 treeSelect 组件。但该组件默认每一级节点都可以进行选择,…

Vagrant+VirtualBox快速搭建Linux环境

VagrantVirtualBox快速搭建Linux环境虚拟机Oracle VM VirtualBoxVMware虚拟机的选择Vagrant介绍Vagrant安装centos7虚拟机固定ip配置允许账号密码登录Xshell 连接Vagrant生成的虚拟机虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功…

通过docker部署grafana和mysql

1. 简介2. 网络设置 - 2.1 docker网络设置 - 2.2 防火墙设置3. MySQL - 3.1 启动MySQL - 3.2 配置mysql - 3.3 创建只读用户 - 3.4 创建数据库4. Grafana - 4.1 启动Grafana - 4.2 配置数据源 - 4.3 dashboard与panel5. 参考 1. 简介 grafana是一个数据可视化程序, 可通过浏览…

python gdal geopandas basemap cartopy安装

python彻底解决Basemap cartopy geopandas 安装问题 Basemap cartopy geopandas rasterio这几个库存在一定的依赖关系,由于环境的变化 很可能哪天不知道就报错了: 版本不一致,运行也可能报错,如GDAL3.0的主要变化在于对空间参考…

13. PyQt5实现多页面切换之QTabWidget

PyQt5实现多页面切换之QTabWidget QTabWidget 类直接继承自 QWidget。该类提供了一个选项卡栏(QTabBar)和一个相应的页面区域,用于显示与每个选项卡相对应的页面。 与 QStackedLayout 布局原理相同,只有当前页面(即可见页面)是可见的,所有其他…

Flutter 动态更改应用程序启动图标

Flutter 动态更改应用程序启动图标 前言 在这篇文章中,我们将讨论如何在运行时在我们的 flutter 应用程序中动态更改多个应用程序启动器图标。 依赖包 一个用于动态更改移动平台上应用程序图标 flutter 插件。 https://pub.dev/packages/flutter_dynamic_icon 正文 …

zk客户端连接关闭服务端,查看znode(重补早期的学习记录)

前言:之前早期学习记录没有发布成功,丢在草稿里了,今天看到重新补一下。用作学习记录 启动zookeeper ./zkServer.sh start 连接客户端 ./zkCli.sh 后面不需参数,直接回车 回车后,这里有个watcher事件,已连接上localhost端口是默认端口2181 查看有什么命令可用 help 查…

C++类与动态内存分配

11.10 类与动态内存分配 通常,最好是在程序运行时(而不是编译时)确定诸如使用多少内存等问题。对于在对象中存储姓名来说,通常的C方法是,在类构造函数中使用new运算符在程序运行时分配所需的内存。为此,通常的方法是使用string类…

轻松解决VS配置OpenCV环境

一、OpenCV配置 1.下载OpenCV 点击进入下载OpenCV的官网界面 这里以Windows为例,其他同理。(可直接下载最新) 2.提取OpenCV 在这里浅说一句,为了方便环境配置文件管理,可以把所有关于环境配置的文件夹都放到一个叫e…

周杰伦在某手、腾格尔在某音同时开线上演唱会,八点开始谁流量高

周杰伦和腾格尔,都是中国华语乐坛的风云人物,两个人的江湖地位,一时之间很难分出仲伯。既然两位都是音乐界的老前辈,他们也准备开启历史之先河,两个人的线上演唱会都计划在今晚的八点开始。 虽然都是在今晚八点开启&am…

【微服务解耦之事件启动】Spring Boot 解耦之事件驱动

一、前言 简介: 在项目实际开发过程中,我们有很多这样的业务场景:一个事务中处理完一个业务逻辑后需要跟着处理另外一个业务逻辑,伪码大致如下: Service public class ProductServiceImpl {...public void saveProdu…

【FreeSwitch开发实践】外呼线路电话收不到回铃音问题的解决

✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:FreeSwitch开发实践 ✨ 专栏介绍:主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、m…

从URL输入到页面展现到底发生什么?

从开发&运维角度方面来看,总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址TCP 连接:TCP 三次握手发送 HTTP 请求服务器处理请求并返回 HTTP 报文浏览器解析渲染页面断开连接:TCP 四次挥手 一、什么是URL&#xff…

[附源码]java毕业设计书店网站论文

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

如何从0到1实现一个基于bitcask的kv存储引擎

愿景 ​ 今年大部分业余时间都在nutsdb的开源贡献上,nutsdb是基于bitcask模型实现的持久化存储引擎,提供了诸如list,set等多种丰富的数据结构。近来很多小伙伴,其中也有一些我的好朋友陆陆续续加入到这个项目上来。为了帮助小伙伴…