这篇“怎么用Thymeleaf创建Spring Boot项目”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Thymeleaf创建Spring Boot项目”文章吧。
成都创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海宁企业提供专业的成都网站制作、网站设计、外贸网站建设,海宁网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
Thymeleaf是一个表现层的模板引擎,一般被使用在Web环境中。
Thymeleaf支持多种模板类型:HTML、XML、JavaScript、CSS和普通文本等,默认提供了6种模板处理模式:HTML、XML、TEXT、JAVASCRIPT 、CSS和RAW。最后一个RAW表示不会对模板进行处理。
开发环境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8
新建一个名称为demo的Spring Boot项目。
pom.xml加入Thymeleaf依赖:
org.thymeleaf thymeleaf 3.0.11.RELEASE
一、处理HTML
新建一个类HtmlTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
public class HtmlTest {
public static void main(String[] args){
TemplateEngine templateEngine = new TemplateEngine();
Context ctx = new Context();
String html = "";
String result = templateEngine.process(html, ctx);
System.out.println(result);
}
}右键Run 'XmlTest.main()',控制台输出:
根据输出可知,TemplateEngine类会将含有Thymeleaf逻辑的HTML代码转换成纯HTML输出,这就是模板引擎的作用。
二、更换模板解析器
默认情况下,模板处理模式为HTML,可以设置不同的解析器。
新建一个类XmlTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.StringTemplateResolver;
public class XmlTest {
public static void main(String[] args){
TemplateEngine templateEngine = new TemplateEngine();
//新建模板解析器
StringTemplateResolver resolver = new StringTemplateResolver();
//设置模板模式为XML
resolver.setTemplateMode(TemplateMode.XML);
//将解析器设置到引擎实例中
templateEngine.setTemplateResolver(resolver);
Context ctx = new Context();
String xml = " ";
String result = templateEngine.process(xml, ctx);
System.out.println(result);
}
}右键Run 'HtmlTest.main()',控制台输出:
三、处理资源文件
可以为模板引擎设置资源解析器,让它去找文件进行处理。
1、在src/main/resources下新建文件index.html,只保留下面一行代码
2、新建一个类 ClassLoaderTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
public class ClassLoaderTest {
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
//创建解析器
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
//将解析器设置到引擎实例中
templateEngine.setTemplateResolver(resolver);
//处理classpath下的index.html
String result = templateEngine.process("index.html", new Context());
System.out.println(result);
}
}右键Run 'ClassLoaderTest.main()',控制台输出:
四、变量处理
可以通过Context实例设置变量值。
1、在src/main/resources下新建文件var.html
2、新建一个类 VarTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
public class VarTest {
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
templateEngine.setTemplateResolver(resolver);
Context ctx = new Context();
ctx.setVariable("userName", "lc");
String result = templateEngine.process("var.html", ctx);
System.out.println(result);
}
}右键Run 'VarTest.main()',控制台输出:
五、遍历集合
1、在src/main/resources下新建文件iteration.html
| 姓名 |
2、新建一个类 IterationTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
import java.util.ArrayList;
import java.util.List;
public class IterationTest {
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
templateEngine.setTemplateResolver(resolver);
List datas = new ArrayList();
datas.add("张三");
datas.add("李四");
Context ctx = new Context();
ctx.setVariable("datas", datas);
ctx.setVariable("username", "lc");
String result = templateEngine.process("iteration.html", ctx);
System.out.println(result);
}
} 右键Run 'IterationTest.main()',控制台输出:
| 张三 |
| 李四 |
六、设置前缀与后缀
1、在src/main/resources/templates下新建文件index.html
2、新建一个类 PrefixSuffixTest.java
package com.example.demo;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
public class PrefixSuffixTest {
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("/templates/");
resolver.setSuffix(".html");
templateEngine.setTemplateResolver(resolver);
String result = templateEngine.process("index", new Context());
System.out.println(result);
}
}右键Run 'PrefixSuffixTest.main()',控制台输出:
七、Spring Boot中整合Thymeleaf
1、pom.xml加入Thymeleaf依赖:
org.springframework.boot spring-boot-starter-thymeleaf
2、application.yml
备注,下面配置的值都为默认值,实际上可不配置。
spring: thymeleaf: mode: HTML prefix: classpath:/templates/ suffix: .html
3、在src/main/resources/templates下新建文件test.html
Title
4、新建一个控制器类 DemoController.java
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DemoController {
@RequestMapping("/test")
public String test(Model model){
model.addAttribute("userName", "lc");
return "test";
}
}运行后,浏览器访问http://localhost:8080/test
可看到输出结果。

以上就是关于“怎么用Thymeleaf创建Spring Boot项目”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。
分享题目:怎么用Thymeleaf创建SpringBoot项目
标题来源:http://www.jxjierui.cn/article/pejodo.html


咨询
建站咨询
