天天看點

SpringBoot+Maven項目實戰(3):整合Freemark模闆

SpringBoot 自動繼承了thymeleaf、freemark、velocity三種模闆技術,因為我項目中需要用來Freemark模闆進行生成Java類是以,就整合了SB+F

1.配置pom檔案,引入Freemarker

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
           

2.配置模闆屬性(application.properties)

# FREEMARKER (FreeMarkerAutoConfiguration)
spring.freemarker.allow-request-override=false
spring.freemarker.allow-session-override=false
spring.freemarker.cache=false
spring.freemarker.charset=UTF-
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.enabled=true
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.prefer-file-system-access=true
spring.freemarker.suffix=.ftl
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.settings.template_update_delay=
spring.freemarker.settings.default_encoding=UTF-
spring.freemarker.settings.classic_compatible=true
spring.freemarker.order=
           

3.編寫Controller mapping

@RequestMapping("/hello/{name}")
public String hello(@PathVariable("name") String name, Model model) {
   model.addAttribute("name", name);
   model.addAttribute("age","25");
   model.addAttribute("sex","man");
   model.addAttribute("birth",new Date());
   return "hello";
}
           

4.編寫hello.ftl頁面模闆

<!DOCTYPE html>
<html lang="en">
<head>
    <title>SpringBoot + Freemarker</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello ${name}${age}${sex}
<p>${birth?string("yyyy-MM-dd HH:mm:ss.sss")}</p>
</body>
</html>
           

5.啟動Application、通路hello/{name}

Hello zhangyd25man
2016-10-21 10:51:26.026