6、SpringMVC之视图

这篇具有很好参考价值的文章主要介绍了6、SpringMVC之视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:本文环境搭建请参考5.2节

6.1、视图概述

  • 视图的作用是渲染数据,将模型Model中的数据展示给用户;

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

  • SpringMVC中的视图是View接口;

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

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

6.2、ThymeleafView(常用)

  • 当控制器方法中所设置的视图名称没有任何前缀时,视图名称会被SpringMVC配置文件中所配置的视图解析器解析;

  • 视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现跳转。

6.2.1、控制器方法示例

6、SpringMVC之视图

注意:此时SpringMVC配置文件中所配置的视图解析器为ThymeleafViewResolver

    @RequestMapping("/test/view/thymeleaf")
    public String testThymeleafView(){
        return "success";
    }

6.2.2、页面请求示例

6、SpringMVC之视图

<a th:href="@{/test/view/thymeleaf}">测试SpringMVC的视图ThymeleafView</a>

6.2.3、测试效果

6、SpringMVC之视图

6、SpringMVC之视图

由浏览器地址栏可知,ThymeleafView本质上是转发视图

6.3、InternalResourceView(少用)

  • SpringMVC中默认的转发视图是InternalResourceView;

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

6.3.1、控制器方法示例

6、SpringMVC之视图

注意:因为DispatcherServlet接管了所有请求,所以此时请求转发不能直接返回物理视图,但可以调用其他请求

    @RequestMapping("/test/view/forward")
    public String testInternalResourceView(){
        return "forward:/test/view/thymeleaf";
    }

6.3.2、页面请求示例

6、SpringMVC之视图

<a th:href="@{/test/view/forward}">测试SpringMVC的视图InternalResourceView</a>

6.3.3、测试效果

6、SpringMVC之视图

6、SpringMVC之视图

6.4、重定向视图

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

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

6.4.1、控制器方法示例

6、SpringMVC之视图

注意:因为DispatcherServlet接管了所有请求,所以此时重定向不能直接返回物理视图,但可以调用其他请求

    @RequestMapping("/test/view/redirect")
    public String testRedirectView(){
        return "redirect:/test/view/thymeleaf";
    }

6.4.2、页面请求示例

6、SpringMVC之视图

<a th:href="@{/test/view/redirect}">测试SpringMVC的视图RedirectView</a>

6.4.3、测试效果

6、SpringMVC之视图

6、SpringMVC之视图

注意:浏览器地址栏显示为重定向的地址

6.5、请求转发和重定向的使用情景

  • 请求转发:失败时使用,例如登录失败用请求转发

  • 重定向:成功时使用,例如登录成功用重定向

6.6、视图控制器

当控制器方法仅仅用来实现页面跳转(即只需要设置视图名称时),可以使用视图控制器来替代其功能

6.6.1、要被替代的控制器方法示例

6、SpringMVC之视图

6.6.2、视图控制器示例

6、SpringMVC之视图

注意:如果设置了视图控制器,则只有视图控制器所指定的请求路径会被处理,其他请求将全部404;
为了让其他请求也能得到(控制器方法)处理,需要开启mvc的注解驱动文章来源地址https://www.toymoban.com/news/detail-711602.html

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

    <!--
        视图控制器(mvc:view-controller):为指定的请求直接设置(逻辑)视图名称,从而实现页面的跳转
        path属性:设置要处理的请求路径
        view-name属性:设置要跳转到的逻辑视图
    -->
    <mvc:view-controller path="/" view-name="index"></mvc:view-controller>

到了这里,关于6、SpringMVC之视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 36.SpringMVC视图

    SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 SpringMVC视图的种类很多,默认有 转发视图( InternalResourceView ) 和 重定向视图( RedirectView ) 配置视图: 当工程 引入jstl的依赖 ,转发视图会 自动转换为JstlView 若使用的视图技术为Thymeleaf,在Spri

    2024年02月12日
    浏览(18)
  • 6、SpringMVC之视图

    注意:本文环境搭建请参考5.2节 视图的作用是渲染数据,将模型Model中的数据展示给用户; SpringMVC视图的种类很多,默认有转发视图和重定向视图; SpringMVC中的视图是View接口; 当工程引入jstl的依赖,转发视图会自动转换为JstlView; 若使用的视图技术为Thymeleaf,在SpringMVC的

    2024年02月08日
    浏览(25)
  • SpringMVC视图

    视图的作用是渲染数据,将模型Model中的数据展示给客户,SpringMVC中视图的种类有很多,默认有转发视图(InternalResourceView)和重定向视图(RedirectView)。 当工程引入jstl的依赖,转发视图会自动跳转jstlView,若使用的视图为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,

    2024年02月14日
    浏览(27)
  • SpringMVC的视图

    SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为JstlView 若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由

    2024年02月08日
    浏览(45)
  • SpringMVC Day 06 : 转发视图

    在SpringMVC框架中,视图解析器可以将逻辑视图名称转换为实际的视图对象。除了直接渲染视图,你还可以通过SpringMVC提供的转发和重定向机制来跳转到另一个视图。在本篇博客中,我们将学习SpringMVC中的转发视图技术,以及如何使用它来构建更高效的Web应用程序。 1、新建项

    2024年02月07日
    浏览(29)
  • 基于Clion的STM32开发环境搭建及注意事项(现阶段最便捷可靠)

    STM32的使用的比较多的IDE是MDK,其拥有强大的调试功能,但由于MDK的代码补全功能及其难用,以及调试功能全英文界面入门门槛较高,先推荐一套无比好用的STM32开发环境——Clion。基于Clion强大的代码补全、各种多样化的功能、插件以及调试功能,可以让开发者在开发STM32的过

    2024年02月10日
    浏览(33)
  • SpringMVC的架构有什么优势?——视图与模型(二)

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ React从入门到精通 ★ ★ 前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★

    2024年02月13日
    浏览(42)
  • SpringMVC 参数绑定(视图传参到控制器)

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:SSM 框架从入门到精通 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:SpringMVC 参数绑定

    2024年01月19日
    浏览(31)
  • SpringMVC- ThreadLocal变量的注意点

    在Web应用中,尤其是在使用Spring框架或类似的服务器端Java技术时, ThreadLocal 是一种常用的方式来存储每个请求的用户信息或上下文数据。然而,由于Web服务器通常使用线程池来处理请求,因此理解和正确使用 ThreadLocal 变得至关重要。 线程池和ThreadLocal 在线程池中,线程是被

    2024年01月21日
    浏览(20)
  • Verilog中的force语句用来强制更改信号的值,特别适用于仿真和调试。本文将深入探讨force语句在FPGA开发中的应用和注意事项。

    Verilog中的force语句用来强制更改信号的值,特别适用于仿真和调试。本文将深入探讨force语句在FPGA开发中的应用和注意事项。 首先,我们需要了解force语句的语法。其基本格式为force [time] signal = value。其中,time是可选参数,表示在何时开始强制更改信号的值;signal是要更改的

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包