下面是详细的步骤:
1. 创建Spring Boot项目
可以使用Spring Boot官方提供的Spring Initializr快速生成一个基础项目。
2. 添加依赖
在pom.xml文件中添加Freemarker依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3. 配置Freemarker
在application.properties或application.yml中添加Freemarker的配置:
application.properties
# 设置Freemarker模板目录
spring.freemarker.template-loader-path=classpath:/templates
# 设置Freemarker模板缓存
spring.freemarker.cache=false
# 设置Freemarker模板后缀
spring.freemarker.suffix=.ftl
application.yml
spring:
freemarker:
# 设置Freemarker模板目录
template-loader-path: classpath:/templates
# 设置Freemarker模板缓存
cache: false
# 设置Freemarker模板后缀
suffix: .ftl
4. 创建Controller
在项目中创建一个Controller,例如:
@Controller
public class IndexController {
@Autowired
private ArticleService articleService;
@GetMapping("/")
public String index(Model model) {
// 获取最新的10篇文章
List<Article> articleList = articleService.findLatestArticles(10);
model.addAttribute("articleList", articleList);
return "index";
}
}
5. 创建模板
在templates目录下创建index.ftl文件(根据Controller中的返回值指定文件名),例如:
<!DOCTYPE html>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>最新文章</h1>
<ul>
<#list articleList as article>
<li><a href="/article/${article.id}">${article.title}</a></li>
</#list>
</ul>
</body>
</html>
6. 运行应用
启动应用后,访问"http://localhost:8080/"即可看到经过Freemarker渲染后的页面。
示例1
以官方示例为基础,具体步骤为:
- 使用Spring Initializr创建一个基础项目。
- 在pom.xml文件中添加依赖:
xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
- 创建一个可以提供hello页面的Controller。
```java
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
```
- 在resources/templates目录下创建hello.ftl文件。
```html
Hello, ${name}!
```
- 启动程序,访问"http://localhost:8080/hello",即可看到页面上显示Hello, World!
示例2
以一个博客网站为例,具体步骤为:
- 创建一个基础项目。
- 添加Freemarker依赖。
- 配置Freemarker相关属性。
- 编写Controller提供文章详情页。
- 在模板中嵌套文章详情页面的模板。
- 启动程序,访问"http://localhost:8080/article/1",即可看到经过Freemarker渲染后的文章详情页。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Freemarker实现页面静态化的详细步骤 - Python技术站