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

我们

无聊的时候想到,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";

    }
}

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

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

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

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

时间: 2024-10-13 10:32:01

sprignboot 中thymeleaf和freemarker 都存在时,默认选择哪个的相关文章

img中图片加载不出时默认显示的图片

在js中有onload.onerror两个事件,可在图片中加入,修改对于的src地址, 这样可改善网络差或者图片丢失时的用户体验 如下 <img  src="img/3.jpg"  onerror="this.src='error.jpg'"/>

SQL SERVER中查询参数为空(null)时默认查询所有的实现

最近在项目中碰到一个比较有意思的问题,网上查找了一些方法,在这里总结分享一下. 我们经常会碰到这样的场景:需要查询数据,有一些查询条件,但是查询的时候,我们希望在某个条件为空的时候,则不筛选这个条件,处理的思路主要有这么几种: 1.程序收集查询查询条件的时候处理,这种适合动态SQL的,拼接SQL的时候根据参数是否为空来决定是否拼接对应的查询条件. 2.SQL中处理,这种情况适合存储过程,参数固定的场景,或者是非拼接where条件的场景,存储过程中一般没有使用拼接SQL的方式,那么如何实现参数为n

MyEclipse10中两种FreeMarker插件的安装与配置

--------------------非原创 第一个插件是:freemarker-ideMyEclipce10.0中安装FreeMarker插件,这绝对是最简单的方法.步骤如下:(一)打开http://sourceforge.net/projects/freemarker-ide/files/ 下载最新版本,目前本人下载时最新版本是:freemarker-ide-0.9.14(二)将其解压,将hudson.freemarker_ide_0.9.14文件夹放入MyEclipse安装目录dropi

Qt中各个widget前后位置的设定(在Qt中,所有问题都要一分为二,QWidget体系和QGraphicsWidget体系)

这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系. ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),underStack(),hide()函数. 理论为:在Qt中每个widget窗口都维持着自己的一个创建栈(widget's stack.),栈里边存放

在Spring中基于JDBC进行数据访问时如何控制超时

超时分类 超时根据作用域可做如下层级划分: Transaction Timeout > Statement Timeout > JDBC Driver Socket Timeout Transaction Timeout指一组SQL操作执行时应在设定的时间内完成(提交或回滚),否则将引发超时.它的值应大于 N(语句数) * Statement Timeout Statement Timeout指完成单条SQL语句执行的最大允许时间.它的值应小于JDBC Driver Socket Timeou

2015/5/8 eclipse中jsp、js文件编辑时卡死怎么办?

eclipse中jsp.js文件编辑时卡死怎么办? 使用Eclipse编辑jsp.js文件时,经常出现卡死现象,通过以下几个调整来解决: 1.取消验证 Windows->Perferences->Validation,把除了manual 下面的全部点掉,build下只保留 classpath dependency Validator: 2.关闭拼写检查: Windows–>Perferences–>General–> Editors->Text Editors->

(Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失

在DCOM 中不存在WORD.EXCEL等OFFICE组件 最近在做一个关于office转存PDF的Web项目.开发过程一切顺利. 起初在网上找到一些Word,PPT转PDF的代码.很好用.一切顺利项目开发成功.在这里需要说明一点,PPT中会存在流媒体内容,如果存在这些内容的时候是不能成功转换为PDF的.需要手动将相关内容删除后才可以转换.各位如果遇到些奇怪的问题的时候,希望检查下PPT中是不是存在这些内容. 项目开发结束,问题就来了.因为需要搭建测试环境.就拿手边一台防止的机器搭建了测试环境.

C语言中宏定义(#define)时do{}while(0)的价值(转)

C语言中宏定义(#define)时do{}while(0)的价值 最近在新公司的代码中发现到处用到do{...}while(0),google了一下,发现Stack Overflow上早有很多讨论,总结了一下讨论,加上自己的理解,do{...}while(0)的价值主要体现在: 1. 增加代码的适应性 下面的宏定义没有使用do{...}while(0) #define FOO(x) foo(x); bar(x); 这样宏定义,单独调用不会出现问题,例如: FOO(100) 宏扩展后变成: 1 f

检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005

http://blog.csdn.net/yiyiwyy326/archive/2007/04/30/1592657.aspx [C#]用C#动态生成Word文档之服务器配置Server 2003 收藏 用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但安装到远程服务器上就报错了,让我头疼了好久,看了很多的信息后,现在才算是搞定了. 为了不忘记特意再此做下记录来! 程序安装到远程服务器上,首先报的错误代码就是80070005(检索COM类工厂中CLSID为{000209FF-00