动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Thymeleaf动态渲染HTML实例

04-23 16:59 922浏览
举报 T字号
  • 大字
  • 中字
  • 小字

HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。

Thymeleaf 支持 html 原型,然后在html标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。这些实际上就是Thymeleaf动态渲染HTML,下面我们来看Thymeleaf动态渲染HTML的实例。

1.添加依赖

<!-- Thymeleaf 模板引擎 -->
   <dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf</artifactId>
      <version>3.0.9.RELEASE</version>
   </dependency>

2.编码工具类 HTMLTemplateUtils.java

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);
    }
}

3.测试模板引擎

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的模板引擎,逐渐在前端页面的开发中被广泛运用,我们掌握这一技能,足以让我们在前端开发中占据一席栖身之地,找到适合的工作也是早晚的事情。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵279
程序员代码小兵279

75篇文章贡献270037字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消