SpringBoot 集成freemarker 模板引擎

哈哈 阅读:604 2021-03-31 20:57:05 评论:0

首先,在pom.xml 文件中添加freemarker 的依赖:

<!--freemarker模板引擎 --> 
		<dependency> 
			<groupId>org.springframework.boot</groupId> 
			<artifactId>spring-boot-starter-freemarker</artifactId> 
		</dependency>

在application.properties(或yml)配置文件中加入freemarker相关配置:

#freemarker 相关配置 
spring.freemarker.template-loader-path=classpath:/templates 
spring.freemarker.cache=false 
spring.freemarker.charset=UTF-8 
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.request-context-attribute=request 
spring.freemarker.suffix=.ftl

freemarker 全面配置参考如下:

spring.freemarker.allow-request-override=false # Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. 
spring.freemarker.allow-session-override=false # Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. 
spring.freemarker.cache=false # Enable template caching. 
spring.freemarker.charset=UTF-8 # Template encoding. 
spring.freemarker.check-template-location=true # Check that the templates location exists. 
spring.freemarker.content-type=text/html # Content-Type value. 
spring.freemarker.enabled=true # Enable MVC view resolution for this technology. 
spring.freemarker.expose-request-attributes=false # Set whether all request attributes should be added to the model prior to merging with the template. 
spring.freemarker.expose-session-attributes=false # Set whether all HttpSession attributes should be added to the model prior to merging with the template. 
spring.freemarker.expose-spring-macro-helpers=true # Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". 
spring.freemarker.prefer-file-system-access=true # Prefer file system access for template loading. File system access enables hot detection of template changes. 
spring.freemarker.prefix= # Prefix that gets prepended to view names when building a URL. 
spring.freemarker.request-context-attribute= # Name of the RequestContext attribute for all views. 
spring.freemarker.settings.*= # Well-known FreeMarker keys which will be passed to FreeMarker's Configuration. 
spring.freemarker.suffix= # Suffix that gets appended to view names when building a URL. 
spring.freemarker.template-loader-path=classpath:/templates/ # Comma-separated list of template paths. 
spring.freemarker.view-names= # White list of view names that can be resolved.

在resources文件夹下新建templates文件夹和index.ftl 文件

<!DOCTYPE html> 
<html> 
<head lang="en"> 
    <meta charset="UTF-8"/> 
    <title></title> 
</head> 
<body> 
FreeMarker模板引擎 
<h1>${name}</h1> 
</body> 
</html> 

编辑controller

package com.zzg.controller; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.ModelMap; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
 
 
@Controller 
@RequestMapping("/template") 
public class FreeMarkerController { 
	 
	@RequestMapping(value = "/index", method = { RequestMethod.GET }) 
	public String index(ModelMap map) { 
		map.put("name", "SpringBoot 集成模板引擎freemarker"); 
		return "index"; 
	} 
 
} 

效果截图:

标签:Spring Boot
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号