thymeleaf的个人总结

发布时间:2023年12月20日
thymeleaf的java代码的用法
    <!-- 静态页面模版引擎的依赖 ? -->
<dependency>
 ? ?<groupId>org.springframework.boot</groupId>
 ? ?<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
我们在这里要配置一个具体的模版

引擎的具体实现原理

下面 是java代码

@Service
public class PageServiceImpl implements PageService {
?
 ? ?@Autowired // 这个其实是selvert
 ? ?private TemplateEngine ?templateEngine;
?
 ? ?@Value("${pagepath}") // 在这里读取配置文件中的路径
 ? ?private String pagepath;
?
 ? ?@Autowired // 调用静态页面要切换的数据
 ? ?private SkuFeignClient skuFeignClient;
?
 ? ?@Override
 ? ?public void createPathHtml(String skuId) throws Exception {
 ? ? ? ?// WebContext webContext = new WebContext(req, resp, this.getServletContext());
 ? ? ? ?// webContext.setVariable("persons", persons);
 ? ? ? ?Context context = new Context(); //在thymeleaf 包下面的用来存放数据的 来切换静态页面的数据 上下问对象
 ? ? ? ?Map<String,Object> data ?= this.data(skuId);
 ? ? ? ?// Map<String,Object> 的参数 将数据传到 静态页面域中
 ? ? ? ?context.setVariables(data);
     ? ?// 创建一个文件路径
 ? ? ? ?File file = new File(pagepath); 
 ? ? ? ?if (!file.exists()){ //  路径存在就跳过,不存在就创建一个
 ? ? ? ? ? ?file.mkdirs(); // 
 ? ? ?  }
?
 ? ? ? ?File dist = new File(file,skuId+".html"); // 创建一个文件
 ? ? ? ?PrintWriter printWriter = new PrintWriter(dist,"utf-8"); // 创建一个答应流文件
 ? ? ? ?templateEngine.process("item",context,printWriter); // 模版  数据源  打印流
?
 ?  }
/**
 这个方法是处理前端要显示的数据
*/
 ? ?public Map<String,Object> data(String skuId){
 ? ? ? ?Map<String, Object> info = skuFeignClient.info(skuId);
 ? ? ? ?// 将values 里的json数据转化为 字符串
 ? ? ? ?String skuJson = JSON.toJSONString(info.get("tbSkuDTO"));
 ? ? ? ?// 将字符串转化为对象
 ? ? ? ?TbSkuDTO skuDTO = JSON.parseObject(skuJson, TbSkuDTO.class);
 ? ? ? ?String[] images = skuDTO.getImages().split(",");
 ? ? ? ?info.put("images",images);
?
 ? ? ? ?String spuJson = JSON.toJSONString(info.get("tbSpuDTO"));
 ? ? ? ?TbSpuDTO spuDTO = JSON.parseObject(spuJson, TbSpuDTO.class);
 ? ? ? ?// 将通用对象里面存的json对象转化为Map集合
 ? ? ? ?Map specMap = JSON.parseObject(spuDTO.getSpecItems(), Map.class);
 ? ? ? ?info.put("specMap",specMap);
 ? ? ? ?return info;
 ?  }
}
?
Thymeleaf 通过在 html 标签中添加一个引用网址
<html lang="en" xmlns:th="http://www.thymeleaf.org"> // 在线加载这个Thymeleaf 的使用 来动态展示数据
文章来源:https://blog.csdn.net/weixin_42376775/article/details/135105263
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。