Spring Boot整合FreeMarker模板引擎

POM

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

项目结构

src/
 +- main/
     +- java/
     |   +- com
     |       +- controller/
     |       |   +- IndexController.class
     |       +- Application.class
     +- resources/
         +- templates/
             +- index.ftlh
  • Application为应用程序启动类
  • IndexController为控制器,里面含有一个index请求处理方法,它返回index字符串,表示渲染模板文件index.ftlh。
  • index.ftlh为freemarker模板文件

Applciation.class

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

IndexController.class

@Controller
public class IndexController {

    @GetMapping("/index")
    public String index(Model model) {
        model.addAttribute("name", "Alice");
        return "index";
    }
}

注意@ResponseBody注解不能和freemarker一起使用,所以此处不能标注@RestController注解。

index.ftlh

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
</head>
<body>
hello ${name}!
</body>
</html>

运行

运行Application类里的main方法。

然后访问localhost:8080/index,结果展示为:

hello Alice!

猜你喜欢

转载自www.cnblogs.com/stronger-brother/p/12124784.html