springboot如何使用thymeleaf完成页面缓存

网友投稿 477 2022-07-24


目录使用thymeleaf完成页面缓存直接看Demo控制层核心点是thymeleaf简要基础知识 1.SpringBoot可整合的模板引擎技术2.Thymeleaf常用标签(示例代码)3.Thymeleaf主要语法4.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 goodsList = miaoshaGfgHuMOGloodsService.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可整合的模板引擎技术

FreeMarkerGrooryThymeleafMustache  等等

2.Thymeleaf常用标签(示例代码)

#引入thymeleaf标签

#引入外联样式文件

Hello world

3.Thymeleaf主要语法

变量表达式

${...} //获取上下文中的变量值

选择变量表达式

*{...} //用于从被选定的对象获取属性值

消息表达式

#{...} //用于Thymeleaf模板页面国际化内容的动态替换和展示

链接URL表达式

@{...} //用于页面跳转或者资源的引入

片段表达式

~{...} //用来标记一个片段模板,并根据需要移动或传递给其他模板

4.Thymeleaf基本使用

4.1 在SpringBoot项目中使用Thymeleaf模板,必须保证引入Thymeleaf依赖。

org.springframework.boot

spring-boot-starter-thymeleaf

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现带图形界面的聊天程序
下一篇:java实现实时通信聊天程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~