首页 > 其他分享 >SpringMVC的视图

SpringMVC的视图

时间:2022-10-18 21:03:51浏览次数:39  
标签:redirect 前缀 配置文件 SpringMVC 视图 转发

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

SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为JstlView

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

1、ThymeleafView

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

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

 

 2、转发视图

SpringMVC中默认的转发视图是InternalResourceView

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

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

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

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

 

 3、重定向视图

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

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

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

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

 

 注: 重定向视图在解析时,会先将redirect:前缀去掉,然后会判断剩余部分是否以/开头,若是则会自 动拼接上下文路径

4、视图控制器view-controller

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

<!--
path:设置处理的请求地址
view-name:设置请求地址所对应的视图名称
-->
<mvc:view-controller path="/testView" view-name="success"></mvc:view-controller>
注:
当SpringMVC中设置任何一个view-controller时,其他控制器中的请求映射将全部失效,此时需
要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签:
<mvc:annotation-driven />

 

标签:redirect,前缀,配置文件,SpringMVC,视图,转发
From: https://www.cnblogs.com/ai377377/p/16804102.html

相关文章

  • 【SpringMvc】项目启动成功进入index页面,但@RequestMapping注解的路径报 500
    【爱迪的懂】项目正常启动成功进入index页面,但@RequestMapping注解的路径报500【避坑!】----------------------------------------------------------------------------......
  • drf之请求与响应、drf之视图组件、2个视图基类
    drf之请求与响应Requestfromrest_framework.requestimportRequestdef__init__(self,request,parsers=None,authenticators=None,negotiat......
  • SpringMVC的常用注解
    springmvc常用注解1.@controller注解是否是控制器类2.@requestMapping请求路径的注解​在类和方法上都可以用​可以设置请求路径也可以设置请求方法@Request......
  • SpringMVC常用注解
    springmvc常用注解1.@controller注解是否是控制器类2.@requestMapping请求路径的注解在类和方法上都可以用可以设置请求路径也可以设置请求方法@RequestMapping("/Use......
  • 数据库新增表后,EF通过数据库更新模型后,在视图中已经新表,但在Model 中没有出现Mode实体
    新建表t_PtoductMini, 执行Scaffold-DbContext"DataSource=.;InitialCatalog=XXX;IntegratedSecurity=True"Microsoft.EntityFrameworkCore.SqlServer-OutputDirM......
  • 13.0 SpringMVC父子容器
    一、Spring整合SpringMVCSpring整合SpringMVC唯一的体现就是父子容器:、通常我们会设置父容器(Spring)管理Service、Dao层的Bean,子容器(SpringMVC)管理Controller的Bea......
  • SpringMVC(五):重定向和请求转发
    我们都知道通过servlet跳转到具体的视图有两种方式,一种方式是重定向,一种方式请求转发。那么在SpringMVC中视图解析后跳转是哪种方式实现的呢?很明显在我们发起请求时地址栏......
  • SpringMVC(四):RequestMapping
    现在我们来学习一下RequestMapping注解。RequestMapping注解用来将url映射到一个控制类(Controller类)或一个特定处理的方法上。一、RequestMapping使用的位置1.方法上直......
  • SpringMVC(一):SpringMVC的执行流程
    先看一张图:从这张图我们可以很直观地看出来,SpringMVC的执行流程大致分为以下几步:1.用户发起的请求被前端控制器DispatcherServlet接收;2.DispatcherServlet调用处理映射......
  • springMVC的使用
    springMVC的使用2.1新建一个maven项目2.2导入jar包<!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId......