spring boot整合 freemarker 详细教程


声明:本文转载自https://my.oschina.net/u/3312115/blog/1606891,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

spring boot 我们都知道是一个简化配置的服务,省去繁琐的xml配置,以properties和yml还有 注解形式来替代之前的xml配置。

我们首先实现spring boot 对freemarker的支持,引入pom

<dependency>       <groupId>org.springframework.boot</groupId>       <artifactId>spring-boot-starter-freemarker</artifactId>     </dependency>

在yml中添加配置项:

spring:     freemarker:         template-loader-path: classpath:/ftl/

classpath后面为前缀。也可以在注解配置类中实现

新建配置类:FreeMarkerConfig.java

import com.jagregory.shiro.freemarker.ShiroTags; import freemarker.template.TemplateException; import freemarker.template.TemplateModelException; import java.io.IOException; import java.util.Properties; import javax.annotation.PostConstruct; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.ui.freemarker.FreeMarkerConfigurationFactory; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver; /**  * @author zhuxiaomeng  * @date 2018/1/2.  * @email 154040976@qq.com  */ @Configuration public class FreeMarkerConfig {     @Bean   public ViewResolver viewResolver() {     FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();     resolver.setCache(false);     resolver.setViewClass(org.springframework.web.servlet.view.freemarker.FreeMarkerView.class);     resolver.setRequestContextAttribute("re");     resolver.setExposeSpringMacroHelpers(true);     resolver.setExposeRequestAttributes(true);     resolver.setExposeSessionAttributes(true);     resolver.setSuffix(".ftl");     resolver.setContentType("text/html; charset=UTF-8");     return resolver;   }    @Bean   public FreeMarkerConfigurer freemarkerConfig() throws IOException, TemplateException {     FreeMarkerConfigurationFactory factory = new FreeMarkerConfigurationFactory();     factory.setTemplateLoaderPaths("classpath:/ftl/", "src/main/resources/ftl");     factory.setDefaultEncoding("UTF-8");     FreeMarkerConfigurer result = new FreeMarkerConfigurer();      freemarker.template.Configuration configuration = factory.createConfiguration();     configuration.setClassicCompatible(true);     result.setConfiguration(configuration);     Properties settings = new Properties();     settings.put("template_update_delay", "0");     settings.put("default_encoding", "UTF-8");     settings.put("number_format", "0.##########");     settings.put("datetime_format", "yyyy-MM-dd HH:mm:ss");     settings.put("classic_compatible", true);     settings.put("template_exception_handler", "ignore");     result.setFreemarkerSettings(settings);     return result;   }  }

setRequestContextAttribute:设置属性名称,为freemarker前端 RequestContext 的别名

本人已经在开源框架lenos中实现,如果你感兴趣,或者需要帮助,可以下载学习:

地址:https://gitee.com/bweird/lenosp 

lenos是一款快速开发脚手架,不仅有定时任务,还有权限管理,日志监控等其他技术,如果你喜欢 别忘记点个star,谢谢。如果有疑问,可以在lenos:137738503下加群询问。

本文发表于2018年01月15日 00:33
(c)注:本文转载自https://my.oschina.net/u/3312115/blog/1606891,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1792 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1