thymeleaf的个人总结

thymeleaf的java代码的用法
    

    org.springframework.boot
    spring-boot-starter-thymeleaf
我们在这里要配置一个具体的模版

引擎的具体实现原理

下面 是java代码

thymeleaf的个人总结_第1张图片

@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 data  = this.data(skuId);
        // Map 的参数 将数据传到 静态页面域中
        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 data(String skuId){
        Map 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 标签中添加一个引用网址
 // 在线加载这个Thymeleaf 的使用 来动态展示数据

你可能感兴趣的:(大家相互交流,个人学习相互交流,spring,boot,开发语言)