Thymeleaf

关于 Thymeleaf

概述

关于 Thymeleaf

Thymeleaf 来自哪里?是否有任何软件公司参与开发或支持它?

Thymeleaf 是开源软件,最初由一位名为 Daniel Fernández 的西班牙软件工程师创建,现在由一群非常棒的人开发和维护。团队成员都是一些非常优秀的人。.

它既不是由任何软件(或其他类型)公司开发,也不受其支持,而是以二进制和源代码两种形式完全免费提供给公众。Apache 许可证 2.0 版本发布.

它稳定吗?可以用于生产环境吗?

是的,所有稳定的(非 beta)版本都可以视为适合生产环境。

Thymeleaf 提供任何形式的商业支持吗?

不提供。目前没有官方的商业支持。

谁在使用 Thymeleaf?

我们的'谁在使用 Thymeleaf?'页面列出了正在自己的产品、项目、网站中使用 Thymeleaf 的公司,甚至有一些将其包含在其专业服务组合中。你也会在那里看到一些下载数据。

该项目的版本号规则是什么?

Thymeleaf 的版本号由三个部分组成:x.y.z(例如:2.0.1)。

  • x主版本号。该数字的变化意味着核心或架构的重写,或者库的 API 发生了重大变化,这可能会破坏向后兼容性和/或旧版本的支持。
  • y次版本号。该数字的变化表示应用了一组适度的更改,增加了新功能和改进,但不会显著地改变 API,并且对所有变更的功能提供过渡期,以便有时间适应新的接口。
  • z构建/修复版本号。该数字的变化意味着修复了一些错误或增加了一些性能和文档改进。修复版本不应修改任何 API,因此是即插即用的替换,适用于相同主版本+次版本下的任意先前版本。

我如何为 Thymeleaf 做贡献?

为该项目做贡献的第一个也是最有用的方式是在 StackOverflow 等热门平台上帮助其他用户。StackOverflow。建立更好的社区始终是第一优先事项。

你也可以通过推广 Thymeleaf 来帮忙:在你的博客上写文章,发推文,在你本地的 JUG 上谈论它,甚至只是在你的公司/工作场所与同事开发者讨论它的优势。请帮助传播这个消息。你觉得你奶奶可能感兴趣吗?告诉她吧!:-)

如果你已经在尽力帮助用户和推广方面做了很多努力,但仍觉得你可以做得更多,总有几件事情是非常有用的:

  • 帮助测试。再多的测试都不嫌多,而你作为用户的经验对于构建 Thymeleaf 开发者们可能从未想到的有用测试来说极为宝贵。Thymeleaf 有自己的测试库和自己的测试仓库,那里总是欢迎贡献。如果你不确定要测试什么内容,我们可以指导你去最需要你帮助的方向。
  • 帮助撰写文档。在文档页面上有一个“文章”板块,总是欢迎新的文章投稿,特别是那些包含完整示例应用的文章。你的名字将作为作者显示在文章上,这样你可以把它加到你的简历中;当然,我们要求你具备高水平的质量和良好的英语语言能力。我们保留了一份主题建议列表此处,但你也总是可以向团队提出你自己的想法。

其他呢?当然,你还可以带来你自己的创意!你可以创建一个GitHub 问题或者直接发邮件给团队团队。我们将很高兴与你一起审查并讨论你的想法。请不要在没有事先与团队讨论的情况下上传带有你喜欢的功能的 Pull Request——Thymeleaf 是一个复杂的项目,需要一定程度的组织管理,即使你付出了大量努力(甚至是好的想法!),我们也可能无法接受你的代码。

最后,请注意所有 Thymeleaf 的资产贡献(代码、文档等)都受到某些条款和条件在接受您提供的任何补丁、文章等内容之前,我们需要您明确同意这些条款(一封电子邮件或GitHub评论即可)。

“thymeleaf”如何发音?

如果你不确定,“Thymeleaf”的发音如下:/ˈtaɪmˌlɪːf/

概述

Thymeleaf 是一个 Web 框架吗?

不是的。它是一个模板引擎。

尽管如此,模板引擎在 Web 框架中扮演着关键角色,并且是其中最重要的组件之一,因为它负责生成用户界面或者视图层(通常以 XHTML 或 HTML 形式呈现)。

Spring MVC, StrutsApache Wicket是 Web 框架的一些示例,而JSP, VelocityFreeMarker则是模板引擎的一些示例。

Thymeleaf 能处理哪些类型的模板?

Thymeleaf 模板可以是:

  • HTML(HTML5、XHTML 1.0/1.1、HTML 4)
  • XML
  • TEXT(纯文本)
  • JAVASCRIPT(.js 文件)
  • CSS(.css 文件)

Thymeleaf 可以完全替代 JSP 和 JSTL 吗?

当然可以。不仅能够做到,我们还强烈建议您这样做。如果您想了解这两种技术的比较方式,请查看我们的Thymeleaf 与 JSP 的对比文章。

Thymeleaf 与其他模板引擎(如 Velocity 或 FreeMarker)相比如何?

两者VelocityFreeMarker都是非常出色的软件,但它们解决模板问题的理念与 Thymeleaf 有很大不同。

Thymeleaf 强调自然模板化——允许模板作为有效的原型工作,这是另外两个所不具备的功能——而且它的语法试图(可以这么说)更加清洁,并且更贴合当前网页开发的趋势。同样,从架构角度来看,VelocityFreeMarker都采用顺序文本处理器的方式工作,而 Thymeleaf 基于标记解析技术。这使 Thymeleaf 能够利用基于标记环境(尤其是网络)特有的有趣功能。

无论如何,比较这些技术的最佳方式就是亲自使用它们,然后感受哪一个最适合您。

它可以在非 Web 环境下的非 Web 应用程序中使用吗?

可以。虽然 Thymeleaf(特别是其标准方言)提供了许多在 Web 环境中特别有用的功能,但它也可以用于处理非 Web 的 HTML 或 XML 文档(例如数据 XML),或者其他不是通过 HTTP 发送的模板类型(例如文本/HTML 邮件内容)。

我根本不用 Spring。还能使用 Thymeleaf 吗?

当然可以。Thymeleaf 通过其SpringStandard方言(包含在thymeleaf-spring3, thymeleaf-spring4thymeleaf-spring5包中)为 Spring MVC 提供了良好的集成,但 Spring 集成是完全可选的,标准方言实际上旨在不依赖 Spring 使用。

如何使用 Thymeleaf 的 SNAPSHOT 版本?

有时,Thymeleaf 会发布一个快照版本,让您测试新功能或正在开发的功能。这些版本是非生产就绪的,但对于大多数测试目的而言足够稳定,并能让您在正式发布前尝试新功能。

要使用快照版本,您需要在 Mavenpom.xml文件中添加 Sonatype OSS Snapshots 仓库,例如这样:

此外,您还需要修改您的 Thymeleaf 依赖项以使用快照版本,此版本通常由下一版本(不是当前版本)的版本号组成,后面跟着-SNAPSHOT-SNAPSHOT。例如,如果3.1.3.RELEASE是最新的已发布稳定版本,则快照很可能出现在3.1.4-SNAPSHOT甚至3.2.0-SNAPSHOT这样的版本号下:

Thymeleaf 是如何测试的?

Thymeleaf 拥有自己的测试框架,名为thymeleaf-testing。该测试框架不仅让 Thymeleaf 团队能够轻松地测试库本身,也允许用户测试他们应用程序的视图层。您可以通过访问网址GitHub.

使用这个测试框架,Thymeleaf 维护着另一个完全专注于测试的 GitHub 存储库。测试、更多测试以及更多的测试。这就是thymeleaf-tests存储库,您可以在此地址找到它此处。想要一些统计数据吗?截至 2014 年 6 月,thymeleaf-tests存储库包含了超过 1,300 个测试文件,总计超过 37,000 行测试代码。

此外,我们使用Travis CI实现持续集成,正因如此,每个版本在发布之前都会在无 Spring、Spring 3.0、Spring 3.1、Spring 3.2 和 Spring 4.0 环境下进行测试,并支持 Java 6、Java 7 和 Java 8(遗憾的是 Travis 不支持 Java 5,因此我们需要手动测试)。

无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗