SpringBoot2.x整合模板引擎freemarker

1、Freemarker相关maven依赖


org.springframework.boot
spring-boot-starter-freemarker

2、Freemarker基础配置
	# 是否开启thymeleaf缓存,本地为false,生产建议为true
	spring.freemarker.cache=false

	spring.freemarker.charset=UTF-8
	spring.freemarker.allow-request-override=false
	spring.freemarker.check-template-location=true
	
	#类型
	spring.freemarker.content-type=text/html

	spring.freemarker.expose-request-attributes=true
	spring.freemarker.expose-session-attributes=true
	
	#文件后缀
	spring.freemarker.suffix=.ftl
	#路径
	spring.freemarker.template-loader-path=classpath:/templates/
	

3、建立文件夹
	1)src/main/resources/templates/fm/user/
	2)建立一个index.ftl
	3)user文件夹下面建立一个user.html



4、简单测试代码编写和访问

在controller新建一个FreeController.class

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import net.xdclass.domain.serverSettings;

@Controller
@RequestMapping("/freemaker")
public class FreemakerController {
	
	//引入内容
	@Autowired
	private serverSettings setting;
	
	@GetMapping("/hello")
	public String index(){
		return "ftl/user/index";  //不用加后缀,在配置文件中里面已经指定了后缀
	}
}

在templates/ftl/user下建立一个文件index.ftl
SpringBoot2.x整合模板引擎freemarker_第1张图片





Insert title here


kenkenkenkenken

xdclass.net

启动程序
SpringBoot2.x整合模板引擎freemarker_第2张图片
如果要引入内容,代码更改如下
SpringBoot2.x整合模板引擎freemarker_第3张图片

package net.xdclass.controller;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import net.xdclass.domain.serverSettings;

@Controller
@RequestMapping("/freemaker")
public class FreemakerController {
	
	//引入内容
	@Autowired
	private serverSettings setting;
	
	@GetMapping("/hello")
//	public String index(){
//		return "ftl/user/index";  //不用加后缀,在配置文件中里面已经指定了后缀
//	}
	public String index(ModelMap modelMap){
		modelMap.addAttribute("setting",setting);
		return "/ftl/user/index";
	}
}

package net.xdclass.domain;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource({"classpath:application.properties"})
//@ConfigurationProperties
@ConfigurationProperties(prefix="test")  //如果用了前缀就不用写Value
public class serverSettings {
	//主要进行服务器的配置
	//需要把它映射成实体类
	
	//名称
	//需要注入
	//@Value("${name}")
	private String name;
	
	//@Value("${domain}")
	private String domain;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDomain() {
		return domain;
	}

	public void setDomain(String domain) {
		this.domain = domain;
	}
	
	
}





Insert title here


kenkenkenkenken

xdclass.net

${setting.name}

${setting.domain}

启动程序
SpringBoot2.x整合模板引擎freemarker_第4张图片

你可能感兴趣的:(SpringBoot)