HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。
Thymeleaf 支持 html 原型,然后在html标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。这些实际上就是Thymeleaf动态渲染HTML,下面我们来看Thymeleaf动态渲染HTML的实例。
<!-- Thymeleaf 模板引擎 -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.9.RELEASE</version>
</dependency>
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import java.util.Map;
/**
* HTML模板渲染工具类
*/
public class HTMLTemplateUtils {
private final static TemplateEngine templateEngine = new TemplateEngine();
/**
* 使用 Thymeleaf 渲染 HTML
* @param template HTML模板
* @param params 参数
* @return 渲染后的HTML
*/
public static String render(String template, Map<String, Object> params){
Context context = new Context();
context.setVariables(params);
return templateEngine.process(template, context);
}
}
import com.odianyun.util.sensi.HTMLTemplateUtils;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
public class TemplateResolverAttributesTest {
@Test
public void testTemplateResolutionAttributes01() throws Exception {
String template = "<p th:text='${title}'></p>";
Map<String, Object> params = new HashMap<>();
params.put("title", "Thymeleaf 渲染 HTML ---- Anoy");
String output = HTMLTemplateUtils.render(template, params);
System.out.println(output);
}
}
控制台输出 Thymeleaf 渲染 HTML ---- Anoy
Thymeleaf作为一款可以完全替代 JSP的模板引擎,逐渐在前端页面的开发中被广泛运用,我们掌握这一技能,足以让我们在前端开发中占据一席栖身之地,找到适合的工作也是早晚的事情。
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49