springmvc中的resolveView(视图解析器)

2023-11-17

视图解析器接口只有一个方法,就是根据名称解析出视图信息(一个视图对象View)
采用的是模板模式  抽象模板类 AbstractCachingViewResolver  主要处理缓存,如果视图对象在缓存中有,则从缓存中取,如果没有则创建
public View resolveViewName(String viewName, Locale locale) throws Exception {
if (!isCache()) {
return createView(viewName, locale);
}
else {
Object cacheKey = getCacheKey(viewName, locale);
View view = this.viewAccessCache.get(cacheKey);
if (view == null) {
synchronized (this.viewCreationCache) {
view = this.viewCreationCache.get(cacheKey);
if (view == null) {
// Ask the subclass to create the View object.
view = createView(viewName, locale);
if (view == null && this.cacheUnresolved) {
view = UNRESOLVED_VIEW;
}
if (view != null) {
this.viewAccessCache.put(cacheKey, view);
this.viewCreationCache.put(cacheKey, view);
if (logger.isTraceEnabled()) {
logger.trace("Cached view [" + cacheKey + "]");
}
}
}
}
}
return (view != UNRESOLVED_VIEW ? view : null);
}
}
其中  createView 是抽象方法,在各个子类中去分别实现
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springmvc中的resolveView(视图解析器) 的相关文章

随机推荐

  • 常用DOC命令

    copy con 123 bat 创建批处理 color 改变cmd颜色 ping t l 65550 ip 死亡之ping ipconfig 查看ip ipconfig release 释放ip ipconfig renew 重获ip s
  • arm下蜂鸣器测试代码

    首先还是看内核蜂鸣器的实现 如下图 这个和led一样 都是比较简单的字符驱动 代码如下 include
  • JS 触发事件整理

    一般事件 onclick IE3 N2鼠标点击时触发此事件 ondblclick IE4 N4鼠标双击时触发此事件 onmousedown IE4 N4按下鼠标时触发此事件 onmouseup IE4 N4鼠标按下后松开鼠标时触发此事件 o
  • Android 最简单的应用间跳转小结

    不明所以的图示 通过 JumpOrigin 可以打开 JumpMe 以下简结了4种方式 1 通过查找包名直接启动 APP 这种方法最直接 通过解析包名 判断该应用是否安装 如果安装了就可以直接启动 也能够传递参数 代码如下 傻瓜式打开应用
  • 数据质量评价体系参考

    数据质量人人有责 这不仅仅只是一句口号 更是数据工作者的生命线 数据质量的好坏直接决定着数据价值高低 数据质量管理是指在数据创建 加工 使用和迁移等过程中 通过开展数据质量定义 过程控制 监测 问题分析和整改 评估与考核等一系列管理活动 提
  • MySQL--慢查询

    MySQL的慢查询日志是MySQL提供的一种日志记录 它用来记录在MySQL中响应时间超过阀值的语句 具体指运行时间超过long query time值的SQL 则会被记录到慢查询日志中 具体指运行时间超过long query time值的
  • 第8章 动态注入技术

    转自 http www epubit com cn book onlinechapter 33620 Android安全技术揭秘与防范 我们在讨论动态注入技术的时候 APIHook的技术由来已久 在操作系统未能提供所需功能的情况下 利用AP
  • 使用AVPlayer播放视频

    iOS里面视频播放用到的是AVPlayer 包含在AVFoundation框架内 与AVAudioplayer有点类似 但是AVPlayer得功能跟加强大 他可以用来播放音频也可以用来播放视频 而且在播放音频方面能直接播放网络音频 要使用A
  • 每天一道leetcode141-环形链表

    考试结束 班级平均分只拿到了年级第二 班主任于是问道 大家都知道世界第一高峰珠穆朗玛峰 有人知道世界第二高峰是什么吗 正当班主任要继续发话 只听到角落默默想起来一个声音 乔戈里峰 前言 2018 11 8号打卡明天的题目 https lee
  • py去除文件空行

    去除d0 txt中空行并保存在d1 txt 如果要删除带有空格的空行 可以考虑把判断条件换成正则 with open d0 txt r encoding utf 8 as f open d1 txt w encoding utf 8 as
  • cloudstack api调度流程

    cloudstackapi调度流程 我们发往cloudstack的api命令由management端的ApiServlet的processRequest req resp 进性处理 该函数开启一个线程进行处理 对于login和logout命
  • Qt将程序打包成.exe文件,并添加图标

    1 在工程中添加一个Qt Resource File 文件名任意 2 将 ico后缀的图片放到跟工程文件 pro 文件同目录下 并在Qt Resource File文件中添加该 ico文件 3 添加相关代码 设置窗口图标 4 双击打开 pr
  • CMake入门教程:使用target_include_directories指定头文件目录

    CMake入门教程 使用target include directories指定头文件目录 在进行软件开发时 我们经常需要引用一些外部库或模块的头文件以便使用其功能 CMake是一个强大的跨平台构建工具 能够帮助我们管理项目并生成相应的构建
  • WSL2 局域网访问以及hosts注意事项

    说明 WSL2用的是NAT方式 虚拟机有内部的ip 所以访问虚拟机可用代理访问方法 要点 根据微软文档 powershell 下做端口转发代理 netsh interface portproxy add v4tov4 listenport
  • 双引号后面要加句号吗_小学二年级老师容易疏忽的一个知识点:冒号和双引号...

    标点符号是特殊的文字 使用得当 会为文章增色不少 同时也是考试丢分的一个知识点 应引起师生重视 到了小学二年级 必须学会使用冒号和双引号 冒号 是常用的标点符号之一 通常表示提示语后的停顿或表示提示下文或总结上文 它用在提示语的后面 如果老
  • 用Python写一个比大小的小游戏(代码解释)

    代码解释 游戏 猜数字 玩法 程序会随机生成一个1 30的数字 玩家有无限次 机会去猜这个数字程序会告诉你是大了还是小了 在最后猜中的时候程序会告诉你猜中了 并且告诉你结束游戏以及猜中该数字所花费的次数 代码 Python import r
  • PyTorch的官方bug:torch.optim.lr_scheduler.CosineAnnealingWarmRestarts

    torch optim lr scheduler CosineAnnealingWarmRestarts 低版本 如torch1 7 1 指定last epoch参数时报错 已有人反馈指出 升级torch1 11 0可以解决该问题 升级之后
  • Python数据可视化——图型参数介绍

    前言 利用Python 绘制常见的统计图形 例如条形 图 饼图 直方图 折线图 散点图等 通过这些常用图形的展现 将 复杂的数据简单化 这些图形的绘制可以通过matplotlib 模块 pandas 模 块或者 seaborn 模块实现 饼
  • java 垃圾回收 sys_深入理解Java虚拟机学习笔记2.1-G1垃圾回收

    G1 GC是Jdk7的新特性之一 Jdk7 版本都可以自主配置G1作为JVM GC选项 作为JVM GC算法的一次重大升级 DK7u后G1已相对稳定 且未来计划替代CMS 所以有必要深入了解下 不同于其他的分代回收算法 G1将堆空间划分成了
  • springmvc中的resolveView(视图解析器)

    视图解析器接口只有一个方法 就是根据名称解析出视图信息 一个视图对象View 采用的是模板模式 抽象模板类 AbstractCachingViewResolver 主要处理缓存 如果视图对象在缓存中有 则从缓存中取 如果没有则创建 publ