首页 > 其他分享 >SpringMVC06 - 视图与视图控制器

SpringMVC06 - 视图与视图控制器

时间:2023-02-15 21:57:11浏览次数:32  
标签:redirect 控制器 SpringMVC06 配置文件 SpringMVC 视图 转发

SpringMVC的视图

SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户

SpringMVC视图的种类很多,默认有转发视图和重定向视图

当工程引入jstl的依赖,转发视图会自动转换为JstlView

若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView

ThymeleafView - 最常用的转发视图

当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现跳转

@RequestMapping("/testHello")
    public String testHello(){
    return "hello";
}

转发视图 forward: - 一般不使用

SpringMVC中默认的转发视图是InternalResourceView

SpringMVC中创建转发视图的情况:

当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部分作为最终路径通过转发的方式实现跳转

例如"forward:/","forward:/employee"

一般不使用,因为转发视图需要创建两次视图,第一次是 forwrod-view ,然后再处理成 ThymeleafView,相当于比 ThymeleafView 多一步操作,却是相同功能

@RequestMapping("/testForward")
    public String testForward(){
    return "forward:/testHello";
}

重定向视图 redirect:

SpringMVC中默认的重定向视图是 RedirectView

当控制器方法中所设置的视图名称以 "redirect:" 为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转

例如"redirect:/","redirect:/employee"

@RequestMapping("/testRedirect")
    public String testRedirect(){
    return "redirect:/testHello";
}

视图控制器view-controller

当控制器方法中,仅仅用来实现页面跳转,即只需要设置视图名称时,可以将处理器方法使用viewcontroller标签进行表示

如果控制器方法不做处理,只做转发,则不需要写方法,直接在 SpringMVC 配置文件 springmvc.xml 中配置请求地址和跳转视图

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

<!--
  视图控制器:为当前的请求直接设置视图名称实现页面跳转
  若设置视图控制器,则只有视图控制器所设置的请求会被处理,其他的请求将全部404
  此时必须在配置一个标签:<mvc:annotation-driven />
-->
<mvc:view-controller path="/" view-name="index"></mvc:view-controller>

注:

当SpringMVC中设置任何一个view-controller时,其他控制器中的请求映射将全部失效,此时需要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签:

<mvc:annotation-driven />

标签:redirect,控制器,SpringMVC06,配置文件,SpringMVC,视图,转发
From: https://www.cnblogs.com/Ashen-/p/17124850.html

相关文章

  • [20230214]访问asm相关视图缓慢的分析2.txt
    [20230214]访问asm相关视图缓慢的分析2.txt--//前段时间做awr信息删除时看到的情况,当时主要精力放在整理awr信息上,对于遇到的问题放在一边,等到我想分析时,--//crscrash......
  • (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第六、七节:视图
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录一:关于视图(1)什么视图(2)什么时候会用到视......
  • oracle 19c 创建物化视图并测试logminer进行日志挖掘
    1.创建物化视图altersessionsetcontainer=pdb;grantcreatematerializedviewtoscott;creatematerializedview物化视图名         --1.创......
  • Flask视图:视图函数和类视图
    (一)Flask视图当一个url请求进入后台时,一般有两种方式来进行处理:视图函数和视图类。视图函数直接使用一个函数来进行处理并返回数据给浏览器,视图类则是使用类来进行处......
  • Kubernetes控制平面组件:调度器和控制器
    一、调度器1、调度器简述kube-scheduler负责分配调度Pod到集群内的节点上,它监听kube-apiserver,查询还未分配Node的Pod,然后根据调度策略为这些Pod分......
  • SpringMVC的视图
    目录ThymeleafView转发视图重定向视图视图控制器view-controllerSpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,......
  • 【Oculus Interaction SDK】(九)使用控制器时显示手的模型
    前言这篇文章是【OculusInteractionSDK】系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言。如果文章的内容已经不适用于新版本了,也可以......
  • View 视图
    在布局模板_layout.html中添加公共模块@awaitRenderSectionAsync("bottom",false);在Action视图.cshtml文件中引用@sectionbottom{<div><p>我......
  • jmeter-switch控制器-随机控制-随机顺序控制器
    1、switch控制器作用:跳转到某个子取样器执行,输入子取样器名称2、随机控制-多个中随机选执行一个(只执行一个)3、随机顺序控制器-随机打乱多个取样器的执行顺序(多个都执行......
  • jmeter-临界控制器-仅一次控制器-吞吐量控制器
    1、临界控制器-性能测试不太使用作用:锁定执行通道的顺序,相当于把性能测试中的并行执行,强制转换为串行锁名称:固定值 动态值:global_lock_${__threadNum}问题:如何让锁......