SpringMvc根据返回值类型不同处理响应

2023-09-15 22:57:31

目录

一、介绍

 二、返回值为void

(1)控制层方法

三、返回值为String

(1)控制层

四、返回值为ModelAndView

(1)控制层方法

(2)jsp页面


一、介绍

我们可以通过控制器方法的返回值设置跳转的视图。控制器支持如void,String,ModelAndView类型。

 二、返回值为void

返回值是void会跳转到名字是前缀(也就是你前面编写的视图解析器中的)+方法路径名+后缀的jsp页面        

(1)控制层方法

@RequestMapping("/test")
    public void t1(){
        System.out.println("hello!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    }

路径是test,方法执行完毕以后会跳转到test.jsp页面中(前提是配置好了视图解析器,不然可能会报错)

三、返回值为String

(1)控制层

此时跳转到的的是前缀+返回值+后缀的jsp页面。

 @RequestMapping("/c2/h1")
    public String t2(){
        System.out.println("90");
        return "test";
    }

四、返回值为ModelAndView

该对象是SpringMvc提供的对象,它可以向request域设置数据并指定跳转的页面。该对象包含Model对象和View对象。

Model:向request域中设置数据。

View:指定跳转的页面

(1)控制层方法

@RequestMapping("/c2/h1")
    public ModelAndView t3(){
        //创建ModelAndView对象
        ModelAndView modelAndView=new ModelAndView();
        //获取Model对象,本质上是一个Map
        Map<String,Object> model=modelAndView.getModel();
        //使用Model对象向request域设置数据
        model.put("name","大大大大大牛");
        //使用View对象设置跳转的路径为/test.jsp
        modelAndView.setViewName("test");
        return modelAndView;
    }

(2)jsp页面

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>request=${requestScope.name}</h1>
</body>
</html>

这里的${requestScope.name}是el表达式写法,所以在web.xml中要添加支持el表达式

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
               http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">
</web-app>

更多推荐

如何使用高压放大器驱动高容性负载

使用高压放大器驱动高容性负载是一个具有挑战性的任务,需要仔细考虑电路设计和操作技巧。下面西安安泰Aigtek将为您介绍一些关于如何使用高压放大器驱动高容性负载的方法和注意事项。首先,让我们了解一下高容性负载。高容性负载通常指电容值较大的负载元件或电路,在实际应用中常见于声音系统、电力传输和电化学领域等。驱动高容性负载需

Android T 禁止应用添加窗口的操作

序什么情况下会出现我们需要禁止应用添加窗口的情况呢?假如有一个应用的窗口,我们点开后是透明的或者会影响到系统的使用,那么我们就有必要对这个窗口操作一下回顾我们在AndroidTWMS窗口相关流程中所讲的内容禁止应用添加窗口的操作有两种1.直接在客户端对应用禁止添加窗口2.在服务端禁止应用添加窗口客户端对应用禁止添加窗口

9.17 校招 实习 内推 面经

绿泡*泡:neituijunsir交流裙,内推/实习/校招汇总表格1、自动驾驶一周资讯-一汽与Mobileye签署战略合作,小鹏汽车将用经销商销售逐渐替换直营模式,原小鹏汽车副总裁加盟赛力斯自动驾驶一周资讯-一汽与Mobileye签署战略合作,小鹏汽车将用经销商销售逐渐替换直营模式,原小鹏汽车副总裁加盟赛力斯2、校招|

【大数据之Kafka】十五、Kafka-Kraft模式

1Kafka-Kraft架构左图为Kafka现有架构,元数据在zookeeper中,运行时动态选举controller,由controller进行Kafka集群管理。右图为kraft模式架构(实验性),不再依赖zookeeper集群,而是用三台controller节点代替zookeeper,元数据保存在controll

Python —— excel文件操作(超详细)

背景很多公司还是用excel去管理测试用例的,所以为了减少重复繁琐的导出导出工作,学会如何用代码操作excel表格很实用~1、读取excel文件基本步骤1、操作excel的一些库1、xlrd:读取库,xlwt:写入,现在基本不用,因为只能处理.xls这种格式的数据2、使用openpyxl库:不支持的.xls格式,支持的

Vue.js基础语法下

🎬艳艳耶✌️:个人主页🔥个人专栏:《Spring与Mybatis集成整合》《springMvc使用》⛺️生活的理想,为了不断更新自己!1、事件处理器1.1.概述在Vue中,事件处理器是用来处理DOM事件的方法。它可以在Vue组件中定义和使用,用于响应用户的交互操作。事件处理器的作用是监听DOM事件,并在事件触发时执

C++真的是 C加加

📝个人主页:夏目浅石.📌博客专栏:C++的故事🏠学习社区:夏目友人帐.文章目录前言Ⅰ.函数重载0x00重载规则0x01函数重载的原理名字修饰Ⅱ.引用0x00引用的概念0x01引用和指针区分0x03引用的本质0x04引用的特性0x05引用的使用场景0x06常引用0x07指针和引用区别Ⅲ.结语前言亲爱的夏目友人帐的小

mysql 双主复制_配置步骤、遇到的问题及解决办法

MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。配置步骤:一、修改配置文件(一)服务器A(192.168.115.119)配置如下(该配置需要写到[mysqld]区域内)server-id=1

PY32F003F18之通用定时器MspInit函数

PY32F003F18高级定时器有TIM1,通用定时器有TIM3,TIM14,TIM16和TIM17。在初始化定时器前,要先写好MspInit函数,才可以调用与之对应的初始化函数。1、TIM1更新事件的MspInit函数//函数功能:在初始化定时器时,HAL库使用该函数//使能TIMx时钟,设置中断优先级,使能TIMx

Spring MVC里的DispatchServlet(结合Spring官网翻译)

SpringMVC里的DispatchServlet前言1.SpringWebMVC1.1DispatcherServlet(中央调度器)1.1.1ContextHierarchy(上下文层次结构)1.1.2SpecialBeanTypes(特定的bean类型)1.1.3WebMVCConfig1.1.4Servlet

MyBatis特殊SQL的执行(模糊查询、批量删除、动态设置表名、添加功能获取自增的主键)

一、模糊查询1.1like'%${xxx}%'的方式模糊查询/***根据用户名进行模糊查询*@paramusername*@returnjava.util.List<com.atguigu.mybatis.pojo.User>*/List<User>getUserByLike(@Param("username")Str

热文推荐