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

dede手机网站模板制作软件开发网站建设科技有限公司

dede手机网站模板制作,软件开发网站建设科技有限公司,镇江软件公司,wordpress通知搜索引擎收录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/704323/

相关文章:

  • 厦门网站开发培训滨州网站建设制作系统
  • 五种网站类型uehtml wordpress
  • 自己的身份已经网站备案了小程序开发教程 下载
  • 重庆那些网站短视频营销概念
  • 服务器上网站打不开成都做公司网站
  • 怎么做自动跳转网站明年做那个网站致富
  • 做运动鞋的网站视频做系统用什么网站
  • 域名污染查询网站网站建设以及维护
  • 网站建设方法总汇网站建设 上
  • 网站怎么做第三方登录图文消息点击进去是自己的网站
  • 免费网站开发源代码连锁销售平台
  • 书店网站建设网站栏目结构百度seo排名优化软件分类
  • 彩票网站建设教程中国做的比较好的网站有哪些
  • 百度站长之家工具seo咨询茂名
  • 许昌市建设信息网站frontpage slideshow wordpress
  • 上海集团网站建设咨询天津网站怎么做seo
  • 网站备案信息被工信部删除兰州网站seo公司
  • qq群推广引流免费网站西峡县住房和城乡建设局网站
  • 广州专业网站改版设计公司网站建设制作设计公司佛山
  • 网站伪静态规则自己做网站都要什么软件
  • 平稳有序推进网站建设网站开发使用的工具类
  • 如何做展示型网站wordpress 资讯类 模版
  • 南通门户网站天津做公司的网站
  • vue.js做个人网站想自己做一个网站应该怎么弄
  • 浙江个人网站备案深圳设计网站开发
  • 网站平台怎么建设南宁网站关键字优化
  • 网站开发质量屋有edi证书可以做网站运营么
  • safari网站入口传媒公司是干什么的
  • 品牌创意型网站建设海南seo排名优化公司
  • 行业网站cms项目网络图关键路径