网站营销定义,高端网站建设免费分析,wordpress异步上传图片,小程序模板下载文章目录 前言一、ThymeleafView二、转发视图三、重定向视图四、视图控制器view-controller五、补充总结 前言
SpringMVC中的视图是View接口#xff0c;视图的作用渲染数据#xff0c;将模型Model中的数据展示给用户。 SpringMVC视图的种类很多#xff0c;默认有转发视图和… 文章目录 前言一、ThymeleafView二、转发视图三、重定向视图四、视图控制器view-controller五、补充总结 前言
SpringMVC中的视图是View接口视图的作用渲染数据将模型Model中的数据展示给用户。 SpringMVC视图的种类很多默认有转发视图和重定向视图。 当工程引入jstl的依赖转发视图会自动转换为JstlView。 若使用的视图技术为Thymeleaf在SpringMVC的配置文件中配置了Thymeleaf的视图解析器由此视图解析器解析之后所得到的是ThymeleafView。 一、ThymeleafView
当控制器方法中所设置的视图名称没有任何前缀时此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析视图名称拼接视图前缀和视图后缀所得到的最终路径会通过转发的方式实现跳转。 bean idviewResolver classorg.thymeleaf.spring5.view.ThymeleafViewResolverproperty nameorder value1/property namecharacterEncoding valueUTF-8/property nametemplateEnginebean classorg.thymeleaf.spring5.SpringTemplateEngineproperty nametemplateResolverbean classorg.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver!-- 视图前缀 --property nameprefix value/WEB-INF/templates//!-- 视图后缀 --property namesuffix value.html/property nametemplateMode valueHTML5/property namecharacterEncoding valueUTF-8 //bean/property/bean/property/beanRequestMapping(/testHello)
public String testHello(){
return hello;
}解析后就是/WEB-INF/templates/hello.html。
二、转发视图
SpringMVC中默认的转发视图是InternalResourceView。 SpringMVC中创建转发视图的情况
当控制器方法中所设置的视图名称以forward:为前缀时创建InternalResourceView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀forward:“去掉剩余部分作为最终路径通过转发的方式实现跳转 例如forward:/”“forward:/employee”
RequestMapping(/testForward)
public String testForward(){
return forward:/testHello;
}可以看出这是InternalResourceView视图。
三、重定向视图
SpringMVC中默认的重定向视图是RedirectView。 当控制器方法中所设置的视图名称以redirect:为前缀时创建RedirectView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀redirect:“去掉剩余部分作为最终路径通过重定向的方式实现跳转例如redirect:/”“redirect:/employee”。
RequestMapping(/testRedirect)
public String testRedirect(){
return redirect:/testHello;
}注 重定向视图在解析时会先将redirect:前缀去掉然后会判断剩余部分是否以/开头若是则会自 动拼接上下文路径
四、视图控制器view-controller
当控制器方法中仅仅用来实现页面跳转即只需要设置视图名称时可以将处理器方法使用view-controller标签进行表示。
!--
path设置处理的请求地址
view-name设置请求地址所对应的视图名称
--
mvc:view-controller path/testView view-namesuccess/mvc:view-controller
mvc:annotation-driven /注 当SpringMVC中设置任何一个view-controller时其他控制器中的请求映射将全部失效此时需 要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签 mvc:annotation-driven /
五、补充
什么代码无论是转发还是重定向视图是映射路径可以看下面代码的转发、重定向的路径是我第一个映射的路径/testThymeleafView。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;Controller
public class ViewController {RequestMapping(/testThymeleafView)public String testThymeleafView(){return success;}RequestMapping(/testForward)public String testForward(){return forward:/testThymeleafView;}RequestMapping(/testRedirect)public String testRedirect(){return redirect:/testThymeleafView;}
}这是用的nternalResourceView视图的xml文件。
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd !--扫描控制层组件--context:component-scan base-packagecom.dragon.mvc.controller/context:component-scanbean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/templates//propertyproperty namesuffix value.jsp/property/bean
/beans总结
以上就是springMVC视图的讲解。