thymeleaf的个人总结
2023-12-20 14:37:00
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!