1、添加依赖

  org.springframework.boot

  spring-boot-starter-freemarker

  2、配置application.properties

  spring.freemarker.template-loader-path=classpath:/templates/

  spring.freemarker.charset=utf-8

  spring.freemarker.cache=false

  spring.freemarker.suffix=.ftl

  spring.freemarker.request-context-attribute=request

  3、创建资源目录

  resources 下创建 templates 目录,新增 index.ftl 文件

  ${name}

  4、编写控制器

  import org.springframework.stereotype.Controller;

  import org.springframework.ui.Model;

  import org.springframework.web.bind.annotation.RequestMapping;

  @Controller

  public class TestController {

  @RequestMapping(value = "/test")

  public String test(Model model){

  model.addAttribute("name", "admin");

  return "index";

  }

  }

  5、模板渲染工具类

  package com.vim.common.utils;

  import freemarker.template.Configuration;

  import freemarker.template.Template;

  import org.springframework.core.io.DefaultResourceLoader;

  import org.springframework.core.io.Resource;

  import java.io.*;

  import java.util.Map;

  public class FreemarkerUtils {

  /**

  * 使用模板字符串

  * @param templateString

  * @param model

  */

  public static String renderString(String templateString, Map model) {

  try {

  StringWriter result = new StringWriter();

  Template t = new Template("name", new StringReader(templateString), new Configuration());

  t.process(model, result);

  return result.toString();

  } catch (Exception e) {

  e.printStackTrace();

  }

  return null;

  }

  /**无锡人流医院哪家好 http://www.wxbhnkyy120.com/

  * 配置模板文件位置

  * @param directory

  * @return

  * @throws IOException

  */

  public static Configuration buildConfiguration(String directory) throws IOException {

  Configuration cfg = new Configuration(Configuration.VERSION_2_3_26);

  Resource path = new DefaultResourceLoader().getResource(directory);

  cfg.setDirectoryForTemplateLoading(path.getFile());

  return cfg;

  }

  /**

  * 使用模板文件

  * @param template

  * @param model

  */

  public static void renderTemplate(Template template, Map model, String saveFile) {

  try {

  FileWriter out = new FileWriter(new File(saveFile));

  template.process(model, out);

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  }

  6、注意事项

  freemarker 文件中的 js 引用一定要加闭合标签,且不能使用/>

Java -- springboot 配置 freemarker的更多相关文章

  1. SpringBoot入门-15(springboot配置freemarker使用YML)

    https://blog.csdn.net/fengsi2009/article/details/78879924 application.yml spring: http: encoding: fo ...

  2. springboot使用Freemarker继承

    最近需要用到Freemarker的继承.但是发现没有关于springboot配置Freemarker的继承的.所以趁现在有时间写个博客. 1. Freemarker继承介绍 Freemarker 通过 ...

  3. SpringBoot下配置FreeMarker配置远程模版

    需求产生原因 要求在同一个接口中,根据不同的参数,返回不同的视图结果 所有的视图中的数据基本一致 要求页面能静态化,优化SEO 例如:A接口返回客户的信息 客户A在调用接口时,返回其个性化定制的页面A ...

  4. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  5. 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...

  6. springboot集成freemarker 配置application.properties详解

    #配置freemarker详解 #spring.freemarker.allow-request-override=false # Set whether HttpServletRequest att ...

  7. springboot集成freemarker属性配置(不知道是针对于某个版本,2.0后有变动)

    freemarker属性配置 freemarker属性配置: spring.freemarker.allow-request-override=false # 设置是否允许HttpServletReq ...

  8. 【Other】最近在研究的, Java/Springboot/RPC/JPA等

    我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo ...

  9. 记springboot+mybatis+freemarker+bootstrap的使用(1)

    一..springboot的配置 1.安装并配置maven maven是项目管理工具,可以自动下载并管理jar包之间的依赖关系,可通过maven自动配置springboot 参照百度经验https:/ ...

随机推荐

  1. 【Swoole】计一次swoole_server配合laravel5启动报错:Address already in use[98]

     [2019-11-11 11:42:25 @21371.0] WARNING swSocket_bind(:434): bind(0.0.0.0:9501) failed, Error: Addre ...

  2. lightgbm GPU版本安装

     python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  3. JMH java基准测试

    Measure, don’t guess! JMH适用场景 JMH只适合细粒度的方法测试 原理 编译时会生成一些测试代码,一般都会继承你的类 maven依赖 <dependencies> ...

  4. (转)CMDB介绍

    原文:https://www.cnblogs.com/xuecaichang/p/10265936.html CMDB开发---https://blog.csdn.net/bbwangj/articl ...

  5. 【SpringBoot】SpringBoot日志框架(四)

    日志框架介绍 在开发过程中,我们经常使用到日志来进行排查问题,我们使用的日志框架都是由2部分组成(日志API + 日志实现) 日志API(及日志抽象层)有:SLF4j(Simple Logging F ...

  6. springboot:非web启动

    需要运行一些调度任务,但是又不想放到web容器中运行. 见红色代码: import java.util.concurrent.ThreadPoolExecutor; import org.spring ...

  7. express脚手架重建node项目

    安装express 和express-generator cnpm install express express-generator -g express demo1 创建demo1项目, 进入项目 ...

  8. 从ArcGIS连接Oracle数据库,并将Oracle数据库注册到ArcGIS Server

    环境说明 客户端机器环境: ① Win7 SP1 64位 ② ArcGIS Desktop 10.2 32位 ③ ArcGIS Server 10.2 64位 服务器环境 ① Windows Serv ...

  9. php7.4 更新特性

    PHP 7.4.0 Released! The PHP development team announces the immediate availability of PHP 7.4.0. This ...

  10. Java调用动态链接库so文件(传参以及处理返回值问题)

    刚来到公司,屁股还没坐稳,老板把我叫到办公室,就让我做一个小程序.我瞬间懵逼了.对小程序一窍不通,还好通过学习小程序视频,两天的时间就做了一个云开发的小程序,但是领导不想核心的代码被别人看到,给了我一 ...