如何在SpringBoot+Freemarker中获取项目根目录
在Freemarker中获取项目根目录
好多人 都说:
在配置文件中加入
spring.freemarker.request-context-attribute=request
在页面就可以
<#assign ctx=request.contextPath />
但是发现前台依然为 null(可能是我的配置有问题)
后来发现可以这样使用
<#assign ctx=springMacroRequestContext.contextPath />
不需要多余的配置
在Freemark模板引擎路径的几种设置方法
在SpringMVC中我们想返回视图是怎么做的
(1)SpringMVC中当我们想解析jsp视图的时候需要在spring.xml中有如下的配置
在SpringBoot中springboot不推荐我们使用jsp模板
向我们提供了freemark模板模板引擎来解析视图
1.在SpringBoot中如果我们没进行任何配置那么我们只需要在resources目录下创建一个templates文件夹举个例子。
(1).创建一个Controller类返回名称为first的视图
(2).在resource目录下创建一个名为first.ftl的文件(SpringBoot默认解析文件类型为ftl的文件)
(3)first.ftl中的内容
(4)请求结果
从上面的结果可以看出freemark为我们完成了视图解析
那么如果我们如何自定义freemark的模板引擎路径呢
有两种方式
第一种方式:
1.在resource目录下创建一个application.properties文件,SpringBoot在启动加载时会找到resource目录下的
application.properties文件,代码如下
(1)这里划红线的俩个点是需要注意的,对于suffix我们应该非常熟悉因为在之前配置jsp视图解析器的时候就用到过,是视图解析的文件类型(springboot中默认的解析文件类型是ftl,而我们将文件类型更改为fid格式)
(2)template-loader-parh也不难理解就是配置解析视图的路径
(3)目录结构
2.application.properties配置完成后我们看一下效果
以上就是如何通过application.properties配置修改freemark返回路径
第二种方式:
1.创建Java类继承WebMvcConfigurerAdapter
代码如下
目录结构
运行结果
以上就是通过俩种方式配置freemark返回路径
ps:在反复测试freemark返回路径的过程中发现了很有意思的几点感兴趣的可以深入研究一下
(1)springboot如果没配置application.properties文件或者没创建工作类的时候我们都知道默认返回ftl格式文件,但是如果我们通过工具类改变freemark路径我们会发现,虽然我们配置了返回fap类型的文件,但是当我们把fap改成ftl文件之后,freemark仍然可以解析
(2)通过application.properties文件改变freemark返回路径的话,只能解析application.properties设置的文件类型,ftl是无效的
(3)如果同时加载application.properties文件和工具类的话,工具类的权重比较高,freemark会返回工具类中的配置,但是在第一点我说过如果光使用工具类的话freemark是可以返回ftl格式文件的,但是如果application.properties文件和工具类都进行启动的话ftl就无效了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring中的@Autowired、@Qualifier和@Primary注解详解
这篇文章主要介绍了Spring中的@Autowired、@Qualifier和@Primary注解详解,@Autowired 注解,可以对类成员变量、方法和构造函数进行标注,完成自动装配的工作,@Autowired 是默认根据 byType 进行自动装配的,需要的朋友可以参考下2023-11-11PowerJob的ProcessorLoader工作流程源码解读
这篇文章主要为大家介绍了PowerJob的ProcessorLoader工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12java根据当前时间获取yyyy-MM-dd HH:mm:ss标准格式的时间代码示例
在Java中可以使用java.time包中的LocalDateTime类和DateTimeFormatter类来获取并格式化当前时间为yyyy-MM-dd HH:mm:ss的格式,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-10-10Spring Boot Shiro auto-configure工作流程详解
这篇文章主要为大家介绍了Spring Boot Shiro auto-configure工作流程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-02-02Mybatis Plus 字段为空值时执行更新方法未更新解决方案
这篇文章主要介绍了Mybatis Plus 字段为空值时执行更新方法未更新解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
最新评论