sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个

摘要:
当我们感到无聊时,我们认为freemarker和thymelaf是默认情况下spring boot支持的模板。当这两个模板同时存在并且具有相同的名称时,spring boot将默认选择哪个模板来显示?导入jar<dependency><groupId>org。两个模板的springframework启动springfootstarter freemarkerorg.springframework。Bootspring-bootstarter physical leave在模板中创建一个html文件和一个ftl文件,分别是hello html、˂!我们可以看到,该页面显示在同一行。虽然它被写成html页面,但可以看出这个页面是一个ftl页面。因此,当thymelaf和freemarker的名称相同时,首选ftl页面。

我们 

无聊的时候想到,freemarker和thymeleaf都是springboot默认支持的模板,当这2个同时存在并有相同名字的时候,springboot会默认选择哪个模板来显示呢 ?

所以今天我就实际操作一下 ,都用默认的,不采用其他的配置来观察一下 ,。导入这2个模板的jar

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

在templates新建一个html文件,一个ftl文件,分别为hello.html,

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
<body>
<h2>this is a <h2  th:text="${name}"> </h2>page</h2>
</body>
</html>

index.ftl

<html>
<head>
    <title>freemarker测试</title>
</head>
<body>
<h1>this is a ${name} page </h1>
</body>
</html>

编写测试controller 

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello(Model model){

        model.addAttribute("name","html");
        return  "hello";

    }
    @RequestMapping("/index")
    public String index(Model model){

        model.addAttribute("name","ftl");
        return  "index";

    }
}

启动观察是否能正常访问,

sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个第1张

sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个第2张

分别访问是能正常访问的 ,下边把这2个名字都改成hello,看一下显示的是那个页面。

sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个第3张

我们可以看到这个是在同一行显示的 ,虽然写的是html页面,但是可以看出这个是ftl的页面,所以说在

 有thymeleaf和freemarker 重名的情况下 ,优先选择了ftl的页面。结束。

免责声明:文章转载自《sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Object-C知识点 (二) 控件的实用属性Linux 混合编译opencv与opencv_contrib的android版本下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Freemarker常用技巧(三)

freemarker模板解析过程 例如:一个freemarker表达式<body> ${hello} </body>,会被解析成三个部分,分别是<body>${hello}</body>前面和后面的body标签,在freemarker中被定义为TextBlock,中间的变量定义为DollarVariable。...

Freemarker-比较运算符

比较运算符   表达式中支持的比较运算符有如下几个:    =或者==:判断两个值是否相等.    !=:判断两个值是否不等.   >或者gt:判断左边值是否大于右边值   >=或者gte:判断左边值是否大于等于右边值   <或者lt:判断左边值是否小于右边值   <=或者lte:判断左边值是否小于等于右边值   注意:=和!=...

Freemarker + xml 实现Java导出word

前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选择功能强大的freemarker+固定格式之后的wordxml实现导出功能。导出word的代码是可以直接复用的,于是在此贴出,并进行总结,方便大家拿走。 实现过程概览 先在word上,调整好自己想要的样子。然后存为xml文件。保存为freemarker模板...

&amp;lt;转&amp;gt;FreeMarker内置函数

一、 Sequence的内置函数1. sequence?first 返回sequence的第一个值。2. sequence?last 返回sequence的最后一个值。3. sequence?reverse 将sequence的现有顺序反转,即倒序排序4. sequence?size 返回sequence的大小5. sequence?sort 将seque...

jsp、freemarker、velocity对比

在java领域。表现层技术主要有三种:jsp、freemarker、velocity。 jsp是大家最熟悉的技术长处:1、功能强大,能够写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准。用户群广。丰富的第三方jsp标签库5、性能良好。jsp编译成class文件运行。有非常好的性能表现缺点:jsp没有明显缺点,非要挑点...

FreeMarker include指令(3.3)

可以使用include指令在模板中插入另外一个FreeMarker模板文件。 语法: <#include path/> or <#include path options /> 说明: path:要包含文件的路径。可以使用相对路径和绝对路径。通常使用/(斜杠)来分割路径成分。 支持的options有: encoding:算作是...