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

SpringMVC的视图

时间:2023-02-14 18:55:34浏览次数:56  
标签:redirect 控制器 前缀 SpringMVC 视图 转发

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

ThymeleafView

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

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

image

转发视图

SpringMVC中默认的转发视图是InternalResourceView

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

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

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

image

重定向视图

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

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

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

image

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

视图控制器view-controller

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

<!--
    path:设置处理的请求地址
    view-name:设置请求地址所对应的视图名称
-->
<mvc:view-controller path="/testView" view-name="success"></mvc:view-controller>

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

SpringMVC系列:

标签:redirect,控制器,前缀,SpringMVC,视图,转发
From: https://www.cnblogs.com/kohler21/p/17120598.html

相关文章

  • 【老王读SpringMVC-3】根据 url 是如何找到 controller method 的?
    前面分析了request与handlermethod映射关系的注册,现在再来分析一下SpringMVC是如何根据request来获取对应的handlermethod的?可能有人会说,既然已经将request......
  • SpringMVC:域对象共享数据
    SpringMVC:域对象共享数据使用ServletAPI向request域对象共享数据@RequestMapping("/testServletAPI")publicStringtestServletAPI(HttpServletRequestrequest){......
  • View 视图
    在布局模板_layout.html中添加公共模块@awaitRenderSectionAsync("bottom",false);在Action视图.cshtml文件中引用@sectionbottom{<div><p>我......
  • 12. Oracle的初始化参数和性能视图
    一.性能参数1.CPUparametercpu_count:显示的是逻辑cpu数量(thread),主要是对并行度有影响2.Memoryparameterpga_aggregate_target:可以自动对pga进行调......
  • day08-SpringMVC底层机制简单实现-04
    SpringMVC底层机制简单实现-04https://github.com/liyuelian/springmvc-demo.git8.任务7-完成简单视图解析功能说明:通过目标方法返回的String,转发或重定向到指定页面......
  • 七、SpringMVC异常处理机制
    异常处理的思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生......
  • oracle 19c 视图v$sysmetric 和视图v$con_sysmetric视图求出来数据有一些区别
    目前有一个求oracletps这么一个需求19c要用这个统计tpsselectceil(a.value)fromv$con_sysmetrica,v$containerbwherea.metric_name='UserTransactionPerSec......
  • springmvc文件上传(ajax请求 带参数)
    前言这里用ajax文件上传,并携带几个参数,网上查到的大多都是没带参数只有文件的。由于我项目代码太多,这里只给出关键代码。操作我用的SSM框架,传之前,先在WEB-INF/dispatcherSe......
  • 03 视图层
    视图层一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受Web请求并且返回Web响应。每个视图函数都使用HttpRequest对象作为第一个参数,并且通常称之为request。每......
  • SpringMVC工作流程
    1前端控制器dispatcherServlet接收到用户请求2dispathcherServlet调用处理器映射器handlerMapping3handlerMapping根据url找到对应处理器返回给dispatcherServlet(可......