Spring Boot整合Freemarker实战教程
100 浏览量
更新于2024-09-05
收藏 105KB PDF 举报
"Spring Boot使用模板freemarker的示例代码"
本文将详细介绍如何在Spring Boot项目中集成并使用模板引擎Freemarker。Freemarker是一个强大的、灵活的模板语言,用于生成各种类型的文本输出,如HTML页面、电子邮件、配置文件等。它允许开发者将逻辑与视图分离,使得前端设计更加简洁易维护。
首先,我们需要创建一个新的Spring Boot项目,命名为`spring-boot-freemarker`。为了引入Freemarker支持,我们需要在项目的`pom.xml`文件中添加`spring-boot-starter-freemarker`依赖。在`<dependencies>`标签内添加以下内容:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
```
接下来,我们编写启动类。通常,启动类会包含`@SpringBootApplication`注解,用于启动Spring Boot应用。例如:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
现在,我们需要创建一个模板文件。在`src/main/resources/templates`目录下,创建一个名为`hello.ftl`的文件。这是Freemarker的模板文件,可以包含动态内容。例如,我们可以创建一个简单的欢迎页面:
```html
<!DOCTYPE html>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
<h1>Welcome, ${name}!</h1>
</body>
</html>
```
接下来,我们需要编写一个控制器类来处理HTTP请求。创建一个名为`HelloController`的Java类,使用`@RestController`注解表示这是一个RESTful控制器,`@GetMapping`用于处理GET请求。例如:
```java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("name", "World");
return "hello";
}
}
```
在这个例子中,`hello`方法将`name`属性设置为"World",并返回模板名称"hello"。Spring Boot会自动查找对应的`hello.ftl`文件,并用模型数据填充模板。
在测试阶段,你可以运行应用程序并访问`http://localhost:8080/hello`,你应该能看到一个显示"Welcome, World!"的网页。
默认情况下,Spring Boot对Freemarker的配置已经足够使用,但如果你想自定义配置,可以在`application.properties`或`application.yml`中进行。例如,如果你想更改模板文件的根目录,可以添加以下配置:
```properties
spring.freemarker.template-loader-path=classpath:/templates/
```
关于Freemarker的常用语法,包括变量、条件语句、循环结构、函数调用等。变量表达式以`${}`包裹,如`${name}`;条件语句使用`<#if>`、`<#else>`等;循环结构通常用`<#list>`;调用函数则使用`<@functionName arg1 arg2 />`。
最后,如果你需要在项目中实现页面布局,Freemarker提供了`freemarker-layout`,允许你定义一个主模板,然后其他模板可以继承这个主模板。这可以帮助保持页面结构的一致性。
总结,Spring Boot集成Freemarker是一个简单的过程,通过引入依赖、创建模板文件、编写控制器以及配置相关参数,就可以实现动态页面的渲染。理解Freemarker的基本语法和使用方式,能帮助你更好地构建Web应用的视图层。
353 浏览量
128 浏览量
244 浏览量
208 浏览量
2023-05-27 上传
185 浏览量
225 浏览量
246 浏览量
2024-11-25 上传
weixin_38735782
- 粉丝: 5
- 资源: 979