最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot如何使用thymeleaf完成頁面緩存

 更新時間:2022年06月10日 16:05:12   作者:武大大不吃糖  
這篇文章主要介紹了springboot如何使用thymeleaf完成頁面緩存,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用thymeleaf完成頁面緩存

直接看Demo

注入redisservice以及其余兩個bean.

 @Autowired
? ? private RedisService redisService;
? ? @Autowired
? ? private ThymeleafViewResolver thymeleafViewResolver;
? ? @Autowired
? ? private WebApplicationContext applicationContext;

控制層

?@RequestMapping(value="/list",produces = "text/html;charset=utf-8")
? ? @ResponseBody
? ? public String showGoods(Model model, MiaoshaUser user, HttpServletRequest request, HttpServletResponse response){
?
? ? ? ? //1.從redis緩存中查詢
? ? ? ? String listHtml = redisService.get("goosList",String.class);
? ? ? ? if(StringUtils.isNotEmpty(listHtml)){
? ? ? ? ? ? return ?listHtml;
? ? ? ? }?
?
? ? ? ? //2.使用thymeleaf模板引擎手動渲染視圖
? ? ? ? List<MiaoshaGoods> goodsList = miaoshaGoodsService.selectAllMiaoshaGoods();
? ? ? ? model.addAttribute("user",user);
? ? ? ? model.addAttribute("goodsList",goodsList);
?
? ? ? ?// 無法導入SpringWebContext的包
? ? ? ? SpringWebContext context = new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);
? ? ? ? String html = thymeleafViewResolver.getTemplateEngine().process("goods_list",context);
?
? ? ? ? //3.將手動渲染后的html存入redis緩存
? ? ? ? if(StringUtils.isNotEmpty(html)){
? ? ? ? ? ? redisService.set("goosList",html);
? ? ? ? }
?
? ? ? ? return html;?
? ? }

核心點是

SpringWebContext context = new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);
String html = thymeleafViewResolver.getTemplateEngine().process("goods_list",context);

thymeleaf簡要基礎知識 

SpringBoot支持的視圖技術之Thymeleaf

1.SpringBoot可整合的模板引擎技術

  • FreeMarker
  • Groory
  • Thymeleaf
  • Mustache
  •   等等

2.Thymeleaf常用標簽(示例代碼)

<!DOCTYPE html>
<html lang = "en" xmlns:th="http://www.thymeleaf.org">  #引入thymeleaf標簽
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
    <meta http-equiv = "X-UA-Compatible" content = "ie-edge">
    <link rel="stylesheet" type="text/css" media="all" href="../../css/gtvg.css" rel="external nofollow"  th:href="@{/css/gtvg.css}" rel="external nofollow" />  #引入外聯樣式文件
    <title>Title</title>
</head>
<body>
     <p th:text="#{hello}">Hello world</p>
</body>
</html>

3.Thymeleaf主要語法

  • 變量表達式
? ${...} ? //獲取上下文中的變量值 ?
  • 選擇變量表達式
? *{...} ? //用于從被選定的對象獲取屬性值
  • 消息表達式
? #{...} ?//用于Thymeleaf模板頁面國際化內容的動態(tài)替換和展示
  • 鏈接URL表達式
? @{...} ?//用于頁面跳轉或者資源的引入
  • 片段表達式
? ~{...} ?//用來標記一個片段模板,并根據需要移動或傳遞給其他模板

4.Thymeleaf基本使用

  • 4.1 在SpringBoot項目中使用Thymeleaf模板,必須保證引入Thymeleaf依賴。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf<artifactId>
</dependency>
  • 4.2 其次在全局配置文件中配置Thymeleaf模板的一些參數。(如設置模板緩存、模板編碼、模板樣式、指定模板頁面存放路徑、指定模板頁面名稱的后綴)
#模板緩存開啟
spring.thymeleaf.cache=true
#模板編碼
spring.thymeleaf.encoding=UTF-8
#模板樣式
spring.thymeleaf.mode=HTML5
#指定模板頁面存放路徑
spring.thymeleaf.prefix=classpath:/templates/
#指定模板頁面名稱的后綴
spring.thymeleaf.suffix=.html

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 深入java內存查看與分析詳解

    深入java內存查看與分析詳解

    本篇文章是對java內存查看進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 微服務之間如何通過feign調用接口上傳文件

    微服務之間如何通過feign調用接口上傳文件

    這篇文章主要介紹了微服務之間如何通過feign調用接口上傳文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java實現輕松處理日期和時間的API小結

    Java實現輕松處理日期和時間的API小結

    這篇文章主要為大家詳細介紹了Java中的日期和時間API,可以輕松處理日期和時間,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • MyBatis編寫一個簡單的SQL生成工具

    MyBatis編寫一個簡單的SQL生成工具

    MyBatis 是一個強大的數據持久化框架,它提供了一種半自動化的 ORM 實現方式,本文將為大家介紹如何使用MyBatis編寫一個簡單的SQL生成工具,需要的可以了解下
    2025-03-03
  • java中List刪除時需要的注意事項

    java中List刪除時需要的注意事項

    最近在利用java中的LIST在刪除時發(fā)現了一個錯我,通過查找相關的資料終于解決了,覺著有必要分享處理給同樣遇到這個問題的朋友參考,下面這篇文章主要介紹了java中List刪除時需要的注意事項,需要的朋友可以一起來看看吧。
    2017-01-01
  • IDEA在SpringBoot項目使用Maven打包后jar包太小問題及解決

    IDEA在SpringBoot項目使用Maven打包后jar包太小問題及解決

    這篇文章主要介紹了IDEA在SpringBoot項目使用Maven打包后jar包太小問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java跨域問題分析與解決方法詳解

    Java跨域問題分析與解決方法詳解

    這篇文章主要介紹了Java跨域問題分析與解決方法,跨域問題是在Web應用程序中,由于同源策略的限制,導致瀏覽器無法發(fā)送跨域請求,也無法獲取跨域響應的問題,感興趣想要詳細了解可以參考下文
    2023-05-05
  • java實現優(yōu)酷視頻地址解析示例代碼分享

    java實現優(yōu)酷視頻地址解析示例代碼分享

    最近做了一個在線視頻的下載器,需要解析youku的視頻,獲得真正的視頻地址,現在把解析過程記錄下來以供參考
    2014-01-01
  • spring?boot配置dubbo方式(properties)

    spring?boot配置dubbo方式(properties)

    這篇文章主要介紹了spring?boot配置dubbo方式(properties),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Mybatis-plus數據權限DataPermissionInterceptor實現

    Mybatis-plus數據權限DataPermissionInterceptor實現

    本文主要介紹了Mybatis-plus數據權限DataPermissionInterceptor實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07

最新評論

神池县| 萨迦县| 桐庐县| 青龙| 龙游县| 陆丰市| 调兵山市| 陆丰市| 外汇| 会泽县| 行唐县| 阳江市| 迁安市| 临潭县| 凭祥市| 崇信县| 宿迁市| 邵武市| 孝昌县| 郁南县| 炉霍县| 虞城县| 江陵县| 鄂托克旗| 富阳市| 南和县| 罗平县| 谷城县| 阿尔山市| 甘孜| 襄垣县| 工布江达县| 南宁市| 菏泽市| 巴楚县| 吉林市| 城固县| 苗栗县| 凌云县| 琼中| 开封县|