ThymeleafTests.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.sf;
  2. import org.junit.jupiter.api.Test;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.boot.test.context.SpringBootTest;
  5. import org.thymeleaf.TemplateEngine;
  6. import org.thymeleaf.context.Context;
  7. import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
  8. import java.util.ArrayList;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. @SpringBootTest
  13. public class ThymeleafTests {
  14. @Autowired
  15. private TemplateEngine templateEngine;
  16. @Test
  17. public void test(){
  18. // 先创建一个模版解析器 不再是处理html页面 而是处理 .java文件 它在thymeleaf文件夹下
  19. ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
  20. resolver.setPrefix("thymeleaf/");
  21. resolver.setSuffix(".java");
  22. resolver.setTemplateMode("TEXT");
  23. // 将模版解析器 设置到模版引擎中
  24. templateEngine.setTemplateResolver(resolver);
  25. // 准备数据 创建一个存放数据的容器
  26. Context context = new Context();
  27. // 设置变量 是model和view的对应关系
  28. context.setVariable("className","Role");
  29. context.setVariable("flag",true);
  30. context.setVariable("name","id");
  31. List<Map<String,String>> list = new ArrayList<>();
  32. Map<String,String> map = new HashMap<>();
  33. map.put("fieldName","name");
  34. map.put("fieldType","String");
  35. Map<String,String> map1 = new HashMap<>();
  36. map1.put("fieldName","desc");
  37. map1.put("fieldType","Integer");
  38. list.add(map);
  39. list.add(map1);
  40. context.setVariable("lists",list);
  41. // 调用模版引擎 进行数据渲染
  42. // 渲染 需要模版文件 和 文件需要的数据
  43. String out = templateEngine.process("entity", context);
  44. System.out.println(out);
  45. }
  46. }