Spring Boot では、Thymeleaf、FreeMarker、Velocity、Groovy、Mustache などのテンプレート エンジンを使用することをお勧めします。 JSP は推奨されません。
概要: Thymeleaf は、Velocity や FreeMarker に似たテンプレート エンジンで、Web 環境および非 Web 環境でのアプリケーション開発に使用でき、JSP を完全に置き換えることができます。
<!-- thymeleaf 模板引擎--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
/** * @author sam * @since 2017/7/16 */ @Controller public class HomeController { @RequestMapping("/home") public String home(ModelMap modelMap) { modelMap.put("name", "Magical Sam"); List<String> list = new ArrayList<>(); list.add("sam a"); list.add("sam b"); list.add("sam c"); list.add("sam d"); modelMap.put("list", list); return "home"; } }
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"/> <title>Home</title> </head> <body> <span th:text="${name}"></span> <ul> <li th:each="item : ${list}" th:text="${item}"></li> </ul> </body> </html>
# ================================================ # Thymeleaf配置 # ================================================ # 是否启用thymeleaf模板解析 spring.thymeleaf.enabled=true # 是否开启模板缓存(建议:开发环境下设置为false,生产环境设置为true) spring.thymeleaf.cache=false # Check that the templates location exists. spring.thymeleaf.check-template-location=true # 模板的媒体类型设置,默认为text/html spring.thymeleaf.content-type=text/html # 模板的编码设置,默认UTF-8 spring.thymeleaf.encoding=UTF-8 # 设置可以被解析的视图,以逗号,分隔 #spring.thymeleaf.view-names= # 排除不需要被解析视图,以逗号,分隔 #spring.thymeleaf.excluded-view-names= # 模板模式设置,默认为HTML5 #spring.thymeleaf.mode=HTML5 # 前缀设置,SpringBoot默认模板放置在classpath:/template/目录下 spring.thymeleaf.prefix=classpath:/templates/ # 后缀设置,默认为.html spring.thymeleaf.suffix=.html # 模板在模板链中被解析的顺序 #spring.thymeleaf.template-resolver-order=
<!-- freemarker 模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
同上。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <span>${name}</span> <ul> <#list list as item > <li>${item}</li> </#list> </ul> </body> </html>
以上がSpring Boot シリーズの Web 開発用テンプレート エンジン Thymeleaf と FreeMarker の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。