浅谈SpringBoot对thymeleaf模板引擎的选择及使用

    xiaoxiao2023-12-04  152

    在java领域,视图层技术都有html、jsp、freemarker、velocity、thymeleaf等。

    HTML:超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。

    JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。JSP性能良好,但由于可以编写java代码,如使用不当容易破坏mvc结构。

    参考:https://blog.csdn.net/u013199013/article/details/83537809

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

    Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅使用简单的模板语言(template language)来引用由java代码定义的对象。

    Thymeleaf 是 Web 和独立环境的现代服务器端 Java 模板引擎,能够处理HTML,XML,JavaScript,CSS 甚至纯文本。它

     的主要目标是提供一种优雅和高度可维护的创建模板的方式。

    推荐使用Thymeleaf 的主要原因是:HTML的显示优势,前后端可以很好的分离。

    Thymeleaf 的使用:

    1、引入thymeleaf模板引擎的引入

    <!-- 引入thymeleaf模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

    2、HelloController.java

    @RequestMapping("/success") public String success(Map<String, Object> map){ map.put("hello", "<h1>你好啊!</h1>"); map.put("users", Arrays.asList("Jalor","Jackie Chan", "Jet Li")); return "success"; }

    3、success.html

    <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>success</h1> <div id="id" class="myclass" th:id="${hello}" th:class="${hello}" th:text="${hello}">用thymleaf模板引擎,这部分内容将被覆盖。</div> <hr/> <div th:text="${hello}"></div> <div th:utext="${hello}"></div> <hr/> <h4 th:text="${user}" th:each="user:${users}"></h4> <hr/> <h4> <span th:each="user:${users}"> [[user]] </span> </h4> </body> </html>

    展示效果,如下图:

     

     

     

     

     

     

     

    更多更全案例,百度一下:

    嘉乐博客系统

    www.syjalor.com

    www.blog.syjalor.com

    最新回复(0)