①修改POM文件,添加FreeMarker启动器
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.bjsxt</groupId> <artifactId>springbootfreemarker</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springbootfreemarker</name> <description>springbootfreemarker</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--Freemarker启动器依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>e
②创建Users实体
package com.bjsxt.springbootfreemarker.pojo; public class Users { private String username; private String usersex; private String userage; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUsersex() { return usersex; } public void setUsersex(String usersex) { this.usersex = usersex; } public String getUserage() { return userage; } public void setUserage(String userage) { this.userage = userage; } //有参构造 public Users(String username, String usersex, String userage) { this.username = username; this.usersex = usersex; this.userage = userage; } //无参构造 public Users(){} }
③创建controller
@Controller public class UsersController { /** * 处理请求,返回数据 */ @RequestMapping("/showUsers") public String showUsers(Model model){ List<Users> list = new ArrayList(); list.add(new Users("admin","F","19")); list.add(new Users("lisi","M","25")); model.addAttribute("list",list); return "userList"; } }
④创建视图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table border="1" align="center" width="50%"> <tr> <th>Name</th> <th>Sex</th> <th>Age</th> </tr> <#list list as user> <tr> <td>${user.username}</td> <td>${user.usersex}</td> <td>${user.userage}</td> </tr> </#list> </table> </body> </html>
运行效果:
注:spring boot 2.0版之后 Freemarker的扩展名需要自己配置
spring.freemarker.suffix=.ftl
Model 导包应该导入 import org.springframework.ui.Model;