语乎

Sprinboot Freemarker 自定义全部变量

 Big干   2017-08-09 16:18:34   阅读(1,008)   评论() 

SpringBoot 中使用了freemarker 会使用全部变量,又想使用springboot 自动装配。同样搜遍stackflow和百度(我都已经弃用你了,国内墙越来越高),最终在google找到答案,

最接近的官方 Spring-boot 官方ISSUE也没说到好的办法。下面直接附上代码。

@Configuration
public class FreemarkerConfiguration extends FreeMarkerAutoConfiguration.FreeMarkerWebConfiguration {
	@Value("${ctx.static}")
	private String ctx;
	@Value("${ctx.custom}")
	private Integer custom;

	@Override
	public FreeMarkerConfigurer freeMarkerConfigurer() {
		FreeMarkerConfigurer configurer = super.freeMarkerConfigurer();

		Map sharedVariables = new HashMap<>();
		if (custom != null && custom == 1) {
			sharedVariables.put("sctx", ctx);
		}
		configurer.setFreemarkerVariables(sharedVariables);
		return configurer;
	}
}

@wo8335224(me)

记下来,后面的人少踩坑