最近需要对公司项目首页使用Java模板重做,以提高首屏加载速度和优化SEO。

在选择模板时发现freemarker和thymeleaf最为常用。

两者最大的区别在于语法,对性能方面未作测试,具体性能测试可参考https://www.ktanx.com/blog/p/4965。

本篇博客主要研究两者语法上的不同。

代码已上传至Github:https://github.com/hackyoMa/template

分别演示两者的引用文件、循环、判断和输出。

freemarker:

<#include "layout/header.ftl">
<!DOCTYPE html>
<html lang="cmn-Hans">
<@header title="freemarker"></@header>
<body>
<#list userList as username>
<#if username == "王五"><p>下面是王五</p>
</#if>
<p>${username}</p>
</#list>
</body>
</html>

thymeleaf:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="cmn-Hans">
<head th:include="/layout/header :: header" th:with="title='Thymeleaf'">
</head>
<body>
<div th:each="name:${userList}"><p th:if="${name}=='王五'">下面是王五</p><p th:text="${name}">姓名</p>
</div>
</body>
</html>

转载于:https://www.cnblogs.com/hackyo/p/9517082.html

freemarker和thymeleaf的使用样例相关推荐

  1. YOLOv4 资源环境配置和测试样例效果

    YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...

  2. 2021年大数据常用语言Scala(三十二):scala高级用法 样例类

    目录 样例类 定义样例类 样例类方法 样例对象 样例类 样例类是一种特殊类,它可以用来快速定义一个用于保存数据的类(类似于Java POJO类),而且它会自动生成apply方法,允许我们快速地创建样例 ...

  3. 在Ubuntu下构建Bullet以及执行Bullet的样例程序

    在Ubuntu下构建Bullet以及执行Bullet的样例程序 1.找到Bullet的下载页,地址是:https://code.google.com/p/bullet/downloads/list 2 ...

  4. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  5. Oracle简单脚本演示样例

    Oracle简单脚本演示样例 1.添加表 --改动日期:2014.09.21 --改动人:易小群 --改动内容:新增採购支付情况表 DECLARE VC_STR           VARCHAR2( ...

  6. 【ZooKeeper Notes 3】ZooKeeper Java API 使用样例

    查看PDF版本 转载请注明:@ni掌柜 nileader@gmail.com ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务框架,包含一组简单的原语集合.通过这些原语言的组合使用, ...

  7. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例

    题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 ...

  8. ACMNO.21 C语言-逆序输出 输入10个数字,然后逆序输出。 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0

    题目描述 输入10个数字,然后逆序输出. 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0 样例输出 0 9 8 7 6 5 4 3 2 1 提示 数组?堆栈 ...

  9. ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7

    这个我做了改进,可以实现NXN的矩阵.求出对角线之和! 只需要修改定义的define z的值就好! 接下来,进入正题! 题目描述: 求一个3×3矩阵对角线元素之和. 输入 矩阵 输出 主对角线 副对角 ...

最新文章

  1. fibonacci的几种实现及尾递归
  2. Knative Serving 健康检查机制分析
  3. Failed to load nodelet ‘/kinect2_bridge` of type `kinect2_bridge/kinect2_bridge_nodelet` to manager
  4. 老身掐指一算,国产游戏“出海”正当时?
  5. addActionError addFieldErrot addActionMessage 的区别
  6. Keil/MDK(0):使用过程中的一些设置
  7. ReportServer中,要配置远程可登录帐号
  8. 老饼教你深入浅出理解-《牛顿法求极值》
  9. 华为云计算工程师证好考吗?
  10. php 用隐藏姓名第一个字,PHP用*号替代姓名除第一个字之外的字符
  11. javascript 单元测试迷思
  12. 数论 初等数论 北师大 张秀平 自学 学习 经验 视频 信息 奥赛 NOIP
  13. sql server 自定义列的自增规则
  14. pytorch训练的pt模型转换为onnx(nn.DataParallel()、model、model.state_dict())
  15. 【xtku】巧设路由器 自动拨号上网
  16. Taro:微信小程序通过获取手机号实现一键登录
  17. 10款最佳的Linux文件比较工具
  18. ZC706评估板学习--小白向(一)介绍与准备工作
  19. Oracle关于高速缓存区应用原理
  20. pahoMQTT+SIM800C+STM32 移植和使用

热门文章

  1. 在web浏览器上显示室内温度(nodeJs+arduino+socket.io)
  2. ReactJS实用技巧(1):JSX与HTML的那些不同
  3. 数据库左连接查询时候的技巧.
  4. DB2 V9 默认帐户信息和服务启动信息
  5. 变量提升、作用域this实战(真题:看代码输出)
  6. Node.js 功能函数
  7. kubectl查看kubernetes运行信息
  8. 计算机网络---DHCP/NAT(简单介绍)
  9. axios.post请求出错:Request header field content-type is not allowed by Access-Control-Allow-Headers in……
  10. JavaScript学习(九十二)—关联数组的基本操作