springBoot使用freemarker生成html页面

编程

背景:服务端有一个壳页面入口,页面包含了可简单的文件引用,静态文件的CDN域名(区分环境)、文件版本号(可能变更)

比如:

test环境:<script src="//s1.test.xxcdn.com/xxx/dist/umi.js?v=1.0.1"></script>

prod环境:<script src="//s1.prod.xxcdn.com/xxx/dist/umi.js?v=1.0.2"></script>

目标:最简单的方式给前端一个页面,同时,页面中的静态文件域名、版本号可作为参数,从后端写入页面;

方案:使用freemarker模板引擎

前提:springboot类型的应用

操作步骤:

第一步:引入freemarker模板引擎的jar

<!-- freemarker模板引擎 -->

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>2.3.30</version><!-- 用最新的版本号 -->

</dependency>

第二步:增加freemarker配置(application.yml),这里只有必要的配置

spring:

freemarker:

cache: false #是否需要缓存页面,因为版本号需要修改,所以,不能缓存

suffix: .html #页面文件后缀

第三步:Controller类中加入路由入口

@RequestMapping(value = {"/xxx/**"})

public String xxx(Model model) {

model.addAttribute("pageStaticUrl", "//s1.test.xxcdn.com");

model.addAttribute("viewVersion", "1.0.1");

return "index";

}

第四步:添加页面文件

文件目录:src/main/resources/templates(springboot的默认页面文件目录)

文件名:index.html

文件内容:<script src="${pageStaticUrl}/xxx/dist/umi.js?v=${viewVersion}"></script>

第五步:访问:http://ip:port/server-name/xxx/

 

以上是 springBoot使用freemarker生成html页面 的全部内容, 来源链接: utcz.com/z/517541.html

回到顶部