springMvc请求的跳转和传值的方法
作者:liuconglin 发布时间:2023-02-06 17:29:56
标签:spring,mvc,传值
forword跳转页面的三种方式:
1.使用serlvet
/**
* 使用forward跳转,传递基本类型参数到页面
* 注意:
* 1.使用servlet原生API Request作用域
*
*/
@RequestMapping("/test")
public String test(HttpServletRequest request,HttpServletResponse response){
String name = "张小三";
request.setAttribute("name",name);
return "/back/attr";
}
2.使用Model对象
/**
* 使用forward跳转,传递基本类型参数到页面
* 注意:
* 1.使用springmvc 封装好的Model对象(底层就是request作用域)
*/
@RequestMapping("/test1")
public String test1(Model model){
String name = "张小四";
model.addAttribute("name", name);
return "back/attr";
}
3.使用ModelAndView
/**
* 使用modelAndView
* 注意事项
* modelAndView对象中的数据只能被ModelAndView对象的视图获取
*/
@RequestMapping("/test2")
public ModelAndView test2(ModelAndView modelAndView){
String name = "张小五";
modelAndView.setViewName("back/attr");
modelAndView.addObject("name", name);
return modelAndView;
}
当然也可以通过new 一个ModelAndView对象来实现
@RequestMapping("/test3")
public ModelAndView test3(){
String name = "张小六";
return new ModelAndView("back/attr", "name", name);
}
forword跳转到Controller中的方法:
跳转到相同类中的方法
/**
* 使用forword跳转到相同类中的某一方法
* 注意:
* 1.不需要加上类上的@RequestMapping的值
*/
@RequestMapping("/test00")
public String test00(){
return "forward:test1";
}
跳转到不同类中的方法:
/**
* 使用forword跳转到不同类中的某一方法
* 注意:
* 1.需要加上类上的@RequestMapping的值:比如 :/hello
*/
@RequestMapping("/test01")
public String test01(){
return "forward:/hello/test";
}
redirect跳转到页面:
使用servlet
/**
* 使用redirect跳转 向页面传递数据
* 1.使用Servlet原生API Session ServletContext
*/
@RequestMapping("/test4")
public String test4(HttpServletRequest request,HttpSession session){
String name = "张晓霞";
session.setAttribute("name", name);
return "redirect:/back/attr.jsp";
}
使用ModelAndView
/**
* 使用redirect跳转 向页面传递数据
* 1..使用ModelAndView对象 modelAndView对象会把model中的数据以?形式拼接到地址栏后 可以使用${param.key}接受
*/
@RequestMapping("/test5")
public ModelAndView test5(){
return new ModelAndView("redirect:/back/attr.jsp","name","小张张");
}
redirect跳转到Controller中的方法:
跳转到同类和不同类的方法都需要加上类上的@RequestMapping,就不粘出测试代码了
来源:http://www.cnblogs.com/liuconglin/p/5769893.html
0
投稿
猜你喜欢
- jar包打包实现jar包打包可以使用jar指令实现打包,在命令行中输入jar可以查看jar指令的内容 从最后显示的两个示例看出存在两种打包的
- 本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是
- 以前使用spring的使用要注入property要配置PropertyPlaceholder的bean对象。在springboot除&nbs
- 一、目的本篇文章的目的是记录本人使用flutter加载与调用第三方aar包。二、背景本人go后端,业余时间喜欢玩玩flutter。一直有一个
- 之前的项目中,在Socket通信的时候需要传int类型的值,不过java中outputsteam貌似不能直接传int类型,只能传byte[]
- 一、前言首选,双轴快排也是一种快排的优化方案,在JDK的Arrays.sort()中被主要使用。所以,掌握快排已经不能够满足我们的需求,我们
- 1.基本介绍代码块又称为初始化块,属于类中的成员(类的一部分),类似于方法,讲逻辑语句封装在方法体中,用{}抱起来;但和方法不同,没有方法名
- 这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码所需的maven依赖<dependency>
- 引导语线程池我们在工作中经常会用到。在请求量大时,使用线程池,可以充分利用机器资源,增加请求的处理速度,本章节我们就和大家一起来学习线程池。
- 图像滤波在opencv中可以有多种实现形式自定义滤波如使用3×3的掩模:对图像进行处理.使用函数filter2D()实现#include&l
- 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉
- 在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用
- Spring 注入static属性值本文介绍Spring中如何从属性文件给static字段注入值。实际应用中一些工具类中static属性值需
- 函数式接口1.1 函数式接口概述函数式接口:有且仅有一个抽象方法的接口Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可
- 本文实例讲述了Java链表中元素删除的实现方法。分享给大家供大家参考,具体如下:该部分与上一节是息息相关的,关于如何在链表中删除元素,我们一
- 问题:为什么有缓存mybatis默认开启一级缓存什么场景下必须需要关闭一级缓存场景:执行2次相同sql,但是第一次查询sql结果会加工处理,
- 前言我通常是不太关心代码的具体实现的,因为我的开发语言很杂,倾向于一些最简单通用的方式去解决。今儿不小心在群里看到一位朋友发了下面的java
- 先看Demo运行效果SharedPreferences详解SharedPreferences是Android平台上一个轻量级的存储类,用来保
- java与scala数组及集合的操作这篇博客介绍了scala的数组 + 可变数组的基本使用,及其与java数组的区别scala数组基本操作d
- IDEA 新手使用手册1 简介IDEA的全称是IntelliJ IDEA,这是一个java编程语言开发的集成环境。IDEA的每一个方面都是为