专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

优雅的设置FreeMarker的后缀与资源路径

优雅的设置FreeMarker的后缀与资源路径

最近想写一个后台系统,想着把之前的FreeMarker捡起来。

现在都前后端分离了,后端不用写前端代码了。时间久了,前端的东西都忘完了,以前想写个后台系统什么的,什么FreeMarker,Bootstrap,jQuery 用的那是66的。
现在全忘了,一个页面跳转费了半天劲,还是404,哎,果然时间是一种解药,也是我现在正服下的毒药…

SpringBoot自动配置的秘密在这个包里spring-boot-autoconfigure-2.0.2.RELEASE.jar

2.0、2.RELEASE版本的:

89_1.png

2、2、6.RELEASE版本的:

89_2.png

可以看到后缀变成了 .ftlh

默认模板路径为 classpath:/templates/

而模板路径templateLoaderPath是一个String的数组。所以我们可以自己添加其他的路径。 可以在application.properties里配置。

89_3.png

可是我不想这样配置,每个项目都要编辑application.properties,很容易忘。如果可以使用配置类的方式就好了。

有了想法,现在就要去实现。我们配置的关于FreeMarker的配置,其实是设置到了FreeMarkerProperties这个类里,我们只要在启动的时候改变这个类的属性就好了。

具体实现如下:

import javax.annotation.Resource;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
 /** * @author lww * @date 2020-06-24 16:22 */ @Configuration public class FreeMarkerConfig implements InitializingBean { @Resource private ApplicationContext context; @Override public void afterPropertiesSet() { FreeMarkerProperties properties = context.getBean(FreeMarkerProperties.class); properties.setTemplateLoaderPath("classpath:/templates/", "classpath:/static/"); properties.setSuffix(".ftl"); } } 

在启动之后,手动设置templateLoaderPathsuffix就可以了,这也是修改其他默认配置一种思路。

搞了半天,写了一个登陆页面,关键是太不优雅了,jc,css引了一大堆,以后如果还要其他组件,又要引一大堆东西,算了,还是用前后端分离的方式吧,等哪天用React来写吧,感觉前端没有特别优雅的解决方案。

最近在写一个配置中心,基于Mina的,所以看了一些关于SpringBoot的启动,配置相关的东西。

先说一下,虽然是为了学Mina练手的,但是写出来后,发现很好用,比Nacos还好用(自夸一下),超级0侵入,实时推送,等有空了写一下。敬请期待!

本文使用 tech.souyunku.com 排版

文章永久链接:https://tech.souyunku.com/33752

未经允许不得转载:搜云库技术团队 » 优雅的设置FreeMarker的后缀与资源路径

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们