zoukankan      html  css  js  c++  java
  • Java -- springboot 配置 freemarker

      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 引用一定要加闭合标签,且不能使用/>

  • 相关阅读:
    CSS页面渲染优化属性will-change
    前端自动化构建工具-yoman浅谈
    【积累】如何优雅关闭SpringBoot Web服务进程
    SpringCloud Eureka Client和Server侧配置及Eureka高可用配置
    SpringBoot返回html页面
    MySQL8主从配置
    使用Arrays.asList抛出java.lang.UnsupportedOperationException
    SpringMVC+Mybatis+MySQL8遇到的问题
    MySQL5.6启用sha256_password插件
    Base64简单原理
  • 原文地址:https://www.cnblogs.com/djw12333/p/11275021.html
Copyright © 2011-2022 走看看