1. 概述

  1. spring 配合 thymeleaf 关闭页面缓存

2. 背景

  1. 最近复习 spring

  2. 找了本书叫 spring in action 5th

    1. 本人水平有限
    2. 书还写得那么难
  3. 调试中遇到了问题

    1. 问题1: 我每次改代码, 都要重启
    2. 问题2: 我每次改页面, 都要重启
  4. 因为 问题2 对我来说, 优先级最高, 我首先解决它

3. 环境

  1. os

    1. win10
  2. jdk

    1. 1.8
  3. ide

    1. ida 2018.1
  4. spring

    1. spring boot

      1. 2.1.7 release
    2. 组件
      1. thymeleaf
      2. starter-web
      3. devtool
      4. starter-test
  5. browser

    1. firefox

      1. 70.0
  6. ref

    1. spring in action 5th

4. 问题

  1. 期望

    1. 在 ide 修改页面
    2. 在浏览器直接刷新, 就能看到页面调整
  2. 需要保证

    1. 浏览器的正确配置

      1. 浏览器

        1. 确保每次请求, 都是新鲜的页面
    2. spring 和 thymeleaf 的正确配置
      1. spring

        1. 确保 thymeleaf 的修改能及时

5. 问题解决

  1. 浏览器

    1. 思路1: 每次访问后清空缓存

      1. 结果

        1. 否决

          1. 太麻烦了
    2. 思路2: 通过浏览器配置, 确保每次请求, 都是新页面

      1. 结果

        1. 这个方案不错
        2. 而且也有配置项可以做到
        3. 因为很顺利, 就不细说了, 照着配置一步步来就行
      2. ref

        1. 设置火狐浏览器不缓存js与html
  2. thymeleaf

    1. 思路: 找到配置项, 配置一下就好了

      1. 结果

        1. 妈的找死我了
        2. 百度了好多, 都没用
          1. 千篇一律, 只有一条参数

            spring.thymeleaf.cache=false
          2. 结果配置了根本不生效

          3. 这感觉太难受了, 真的想骂人

      2. 最后结果

        1. ref

          1. Thymeleaf templates cache even when spring.template.cache: false

            1. 一个叫 oak1980 的丹麦老哥, 给了一个配置如下

              # Templates reloading during development
              spring.thymeleaf.prefix=file:src/main/resources/templates/
              spring.thymeleaf.cache=false # Static resources reloading during development
              spring.resources.static-locations=file:src/main/resources/static/
              spring.resources.cache-period=0
          2. 按照这个老哥的做法, 配置终于生效

ps

  1. 妈的为啥我百度的头几个, 没有一个把事说明白

    1. 大部分只给了 cache = false 的那条配置
    2. 其他提到 prefix 的, 还都把 prefix 注释了
    3. 配置的 ide, 组件, 版本也没有
    4. 找了好半天, 问题是这种都是调试常识之类的东西
  2. spring 如何确认运行阶段生效了哪些配置项

    1. 这个找了半天, 也没找到
    2. 我总觉得可以...

Spring - MVC - thymeleaf 缓存关闭的更多相关文章

  1. Spring MVC + Thymeleaf

    参考网址: https://www.cnblogs.com/litblank/p/7988689.html 一.简介 1.Thymeleaf 在有网络和无网络的环境下皆可运行,而且完全不需启动WEB应 ...

  2. 使用maven简单搭建Spring mvc + redis缓存

    注:此文参考并整合了网上的文章 <spring缓存机制>:http://blog.csdn.net/sidongxue2/article/details/30516141 <配置 S ...

  3. 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存

    首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...

  4. A real ROCA using Bootstrap, jQuery, Thymeleaf, Spring HATEOAS and Spring MVC

    http://www.tuicool.com/articles/ENfe2u https://github.com/tobiasflohre/movie-database What is the be ...

  5. Spring MVC视图层:thymeleaf vs. JSP

    本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP.JSTL.Spring tag lib)两种方式的实现. 本文的所有代码来自一个可运行的 ...

  6. Thymeleaf 3与Spring MVC 4 整合配置

    Thymeleaf 3与Spring MVC 4 整合配置 Maven 依赖配置 Spring 相关依赖就不说了 <dependency> <groupId>org.thyme ...

  7. Spring MVC 5 + Thymeleaf 基于Java配置和注解配置

    Spring MVC 5 + Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不 ...

  8. 在Spring MVC和Spring Boot中使用thymeleaf模板

    Spring MVC: POM: <!-- thymeleaf模板 --> <!-- https://mvnrepository.com/artifact/org.thymeleaf ...

  9. Spring MVC : Java模板引擎 Thymeleaf (二)

    本文原计划直接介绍Thymeleaf的视图解析,但考虑到学习的方便,决定先构建一个spring-mvc. 以下的全部过程仅仅要一个记事本和JDK就够了. 第一步,使用maven构建一个web app. ...

随机推荐

  1. MyBatis的手动映射与模糊查询

    一.手动映射 当实体类属性与数据库字段名不同时,无法自动映射,导致查询出空值,这时候可以使用手动映射 在select节点添加resultMap属性与resultMap节点建立关系

  2. SpringBoot学习- 1、SpringSuit创建项目

    SpringBoot学习足迹 前言:最近一次开发java后台应用还是三年前的2017年,主要使用SSH开发小型外包项目和公司的一个产品,感觉再不回顾下可能就要彻底忘记了,准备做一个后台管理项目练练手, ...

  3. java异常处理课后作

    1.动手动脑 源码 import javax.swing.*; class AboutException {   public static void main(String[] a)    {    ...

  4. DM642学习:CMD、GEL文件

    在建立ccs工程的时候,cmd文件和gel文件非常重要,如不能配置好会出现一些莫名其妙的问题. 1. CMD文件: 不同的DSP芯片内集成的存储器大小各异,但其配置方式是类似的.大家可通过查阅DSP芯 ...

  5. C++——类与对象

    1.抽象: 是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程. 1.1 先注意问题的本质描述,其次是实现过程和细节: 1.2 数据抽象:描述某类对象的属性或状态(对象相互区别的物 ...

  6. java-日期取特定值

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * @author G ...

  7. [CF]Round 516

    A Make a triangle! 题意:给定三根线段,问最少要延长多少才能拼成一个三角形. 数学题. B Equations of Mathematical Magic 题意:求$a - (a \ ...

  8. Docker - docker images存储位置,引出ls和du命令的不同

    docker镜像存储位置 docker info | grep "Docker Root Dir" 例如我的driver是overlay2,则docker镜像的实际存储在/var/ ...

  9. HIT大作业——hello的一生

    hello的一生 关键词:计算机系统:功能:流程:P2P;O2O;hello                              目  录   第1章 概述- 4 - 1.1 Hello简介 - ...

  10. quartus 9.0 对话框显示不完整

    今天在quartus9.0新建SOPC build时,发现在添加PLL时对话框太大,笔记本分辨率差,导致结束和next不能选择: 解决: 如果电脑分辨率可以调整为合适的,就去调整: 现在介绍分辨率不合 ...