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. [POI2010] GRA-The Minima Game - 贪心,dp,博弈论

    给出N个正整数,AB两个人轮流取数,A先取.每次可以取任意多个数,直到N个数都被取走.每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大.在这样的情况下,最终A的 ...

  2. 短路运算符&&、或运算符||的理解

    一.短路运算符&& 1.当只有两个表达式的时候(如a&&b),先看第一个表达式转换成布尔值的结果若为真,那么再看第二个表达式转换成布尔值的结果,就可以返回该表达式的值了 ...

  3. loadrunner11破解失败,已解决“ license security violation.Operation is not allowed ”问题

    参考链接https://blog.csdn.net/yongrong/article/details/7891738,亲测可以解决问题 在64位win7系统中安装LR11时,采用普通的方法无法授权.最 ...

  4. 杭电1087 Super Jumping! Jumping! Jumping!(初见DP)

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  5. java基础之 变量

    变量是一个内存位置的名称. 1.成员变量(实例变量,属性) 成员变量就是类中的属性,当创建对象的时候,每个对象都有一份属性.一个对象中的属性就是成员变量. 2.本地变量(局部变量) 在方法内声明的变量 ...

  6. AcWing 8.二维费用的背包问题

    #include<iostream> #include<algorithm> #include<cstring> using namespace std ; ; i ...

  7. 查看和清理相关yum安装应用--例如docker包

    查看和清理相关yum安装应用--例如docker包 待办 https://blog.csdn.net/CSDN_duomaomao/article/details/78997138

  8. JS实现点击table中任意元素选中

    上项目开发,忙的焦头烂额,博客也没咋更新了. 昨天老师提了个需求,简单的小例子,选择tr中任一行选中tr,觉得很有意思,记录一下: 上代码 <!DOCTYPE html> <html ...

  9. C语言 fputs

    C语言 fputs #include <stdio.h> int fputs(const char * str, FILE * stream); 功能:将str所指定的字符串写入到stre ...

  10. Linux中 /boot 目录介绍

    转自https://blog.csdn.net/dulin201004/article/details/7396968 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/ ...