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

  • 相关阅读:
    1055 The World's Richest (25 分)
    1048 Find Coins (25 分)散列
    经典多线程问题(三)-子线程与主线程的循环打印
    经典多线程问题(二)-生产者消费者问题
    源码分析 CurrentHashMap 1.8
    源码分析 CurrentHashMap 1.7
    源码分析 HashTable与CurrentHashMap1.7与currentHashMap1.8对比
    源码分析 HashMap 1.8
    源码分析 HashMap 1.7
    Linux复习(常用命令)
  • 原文地址:https://www.cnblogs.com/djw12333/p/11275021.html
Copyright © 2020-2023  润新知