当前位置: 首页 > news >正文

网站名词网络管理系统组成

网站名词,网络管理系统组成,提升seo排名的方法,无需付费在线观看渠道SpringMVC的视图 转发和重定向的区别及其原理,参考文章 视图类型及特点 视图的作用就是将Model中的数据渲染到页面上并展示给用户,SpringMVC中视图对应的View接口有三种实现类对应三种视图解析器 默认有转发视图InternalResourceView和重定向视图RedirectView以及Thymeleaf…

SpringMVC的视图

转发和重定向的区别及其原理,参考文章

视图类型及特点

视图的作用就是将Model中的数据渲染到页面上并展示给用户,SpringMVC中视图对应的View接口有三种实现类对应三种视图解析器

  • 默认有转发视图InternalResourceView重定向视图RedirectView以及ThymeleafView视图,当工程引入jstl的依赖转发视图会自动转换为JstlView
// 视图接口
View view; 
// 获取视图名称
String viewName = mv.getViewName();
if (viewName != null) {// 解析视图名称,根据视图名称创建对应的视图解析器view = resolveViewName(viewName, mv.getModelInternal(),locale,request);
}

ThymeleafView视图

当控制器方法返回或在ModelView对象中设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件中所配置的ThymeleafView视图解析器解析

  • ThymeleafView视图解析器会给视图名称拼接上视图前缀和视图后缀得到页面的物理地址,然后解析页面中的Thymeleaf语法渲染数据并通过转发的方式实现跳转
<a th:href="@{/testThymeleafView}">测试ThymeleafView</a><br>
@RequestMapping("/testThymeleafView")
public String testThymeleafView(){return "success";
}

转发视图

当控制器方法返回或在ModelView对象中所设置的视图名称以"forward:"为前缀时,此时的视图名称会被InternalResourceView视图解析器解析

  • InternalResourceView视图解析器会将前缀"forward:"去掉,剩余部分作为最终请求路径转发到某个请求或页面(可以解析jsp页面中的语法)
<a th:href="@{/testForward}">测试InternalResourceView</a><br>		
@RequestMapping("/testForward")
public String testForward(){// 这种方式转发到的页面中如果有ThymeleafView语法是不会被解析的return "forward:/testThymeleafView";
}																	

重定向视图

当控制器方法返回或在ModelView对象中所设置的视图名称以"redirect:"为前缀时,此时的视图名称会被RedirectView视图解析器解析

  • RedirectView视图解析器会将前缀"redirect:"去掉,如果剩余部分以/开始则会自动拼接上下文路径作为最终请求路径重定向到某个请求或页面
<a th:href="@{/testRedirect}">测试RedirectView</a><br>
@RequestMapping("/testRedirect")
public String testRedirect(){//redirect:/会自动加上下文路径return "redirect:/testThymeleafView";
}

配置视图控制器view-controller

在控制器方法中只需要实现页面跳转(只设置页面视图名称)功能而没有其他业务,此时可以在SpringMvc的配置文件中使用view-controller标签表示控制器方法

  • 首先要引入mvc的命名空间及其约束文件
  • 只要在SpringMvc的配置文件中设置了view-controller标签,此时只有视图控制器配置的请求才会生效,其他控制器方法中配置的请求映射将全部失效
  • 开启MVC的注解驱动mvc:annotation-driven,可以保证视图控制器设置的请求和控制器方法设置的请求全部都会被前端控制器处理
属性功能
path设置处理的请求地址即请求映射RequestMapping
view-name设置请求地址所对应的视图名称即控制器方法返回值,依然遵守视图解析器的流程

需求: WEB-INF目录下的资源是受保护的即不能通过路径在浏览器中直接访问

<!DOCTYPE html>
<!--引入thymeleaf的命名空间,使用thymeleaf标签-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>首页</title>
</head>
<body><h1>Hello SpringMvc</h1>
</body>
</html>

单独定义一个控制器方法跳转到首页

@Controller
public class HelloController {// 处理http://localhost:8080/SpringMvc/请求@RequestMapping("/")public String index() {// 返回逻辑视图名称,对应页面的物理地址为/WEB-INF/templates/index.htmlreturn "index";}
}

在SpringMvC的核心配置文件中使用视图控制器标签跳转到首页

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 					http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd 					http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--自动扫描控制层组件--><context:component-scan base-package="com.atguigu.mvc.controller"></context:component-scan><!--配置Thymeleaf视图解析器--><bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver"></bean><!--视图控制器,设置请求对应的视图名称实现页面的跳转--><mvc:view-controller path="/" view-name="index"></mvc:view-controller><!--开启MVC的注解驱动,保证视图控制器设置的请求和控制器方法设置的请求全部都会被前端控制器处理--><mvc:annotation-driven />
</beans>
http://www.yayakq.cn/news/294793/

相关文章:

  • 建设工程学部研究生培养网站企业培训系统
  • 建设企业网站进去无法显示专门提供做ppt小素材的网站
  • 湛江建设企业网站怎么保证网站安全性
  • 开个网站建设公司需要什么软件徐州建设银行网上银行个人网站
  • 长春网站建设小程序wordpress加速优化插件
  • 长沙出名的网站设计推广仿建网站
  • 仿牌网站空间装修设计培训学费多少钱
  • app与微网站的区别是什么意思今年国内重大新闻
  • 内蒙古做网站找谁中商外贸app
  • 怎么做电影流量网站广州申请公司注册网站
  • wordpress自定义分类法上海网站seo策划
  • 厦门网站建设制作多少钱seo的课谁讲的好
  • 宜昌做网站哪家最便宜企业网站建设对企业客户的意义
  • 江门营销网站建设c2c定义
  • 用mediawiki做的网站印刷电商网站开发
  • 陈村网站开发新手怎么做销售
  • 上海 食品网站设计seo快速排名首页
  • wordpress博客入门烟台网站排名seo
  • 南阳美容网站建设建立模板wordpress
  • 广元网站建设seo优化营销制作设计网站建设包括的内容
  • 中型网站招聘网站代理
  • 北京定制公交网站河南安阳市房价
  • linux 网站建设WordPress谷歌广告插件
  • 一般网站版式有哪几种白城做网站
  • wordpress 内存清理wordpress mysql优化
  • 网站的建设服务中心郑州大旗网站制作公司
  • 龙潭古镇网站建设福建省建设厅网站电脑板
  • 网站首页设计欣赏手机编辑WordPress博客
  • 怎么通过域名访问网站深圳做网站哪家好
  • 徐州模板自助建站怎样用js做网站轮播图