Spring Boot可以同时使用Thymeleaf、FreeMarker和JSP模板引擎。
首先,你需要在pom.xml
中添加所需的依赖,例如:
<!-- Thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- FreeMarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
然后,你需要在application.properties
或application.yml
文件中进行配置,以指定每个模板引擎的模板存储路径和后缀名。
例如,配置Thymeleaf:
spring.thymeleaf.prefix=classpath:/templates/thymeleaf/
spring.thymeleaf.suffix=.html
配置FreeMarker:
spring.freemarker.template-loader-path=classpath:/templates/freemark/
spring.freemarker.suffix=.ftl
配置JSP:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
最后,在控制器类中使用所需的模板引擎注解来指定视图名称和模型属性,例如:
@Controller
public class HomeController {
@GetMapping("/thymeleaf")
public String getThymeleafModel(Model model) {
model.addAttribute("message", "Hello from Thymeleaf!");
return "thymeleaf-template"; // Thymeleaf视图名称
}
@GetMapping("/freemarker")
public String getFreeMarkerModel(Model model) {
model.addAttribute("message", "Hello from FreeMarker!");
return "freemarker-template"; // FreeMarker视图名称
}
@GetMapping("/jsp")
public String getJSPModel(Model model) {
model.addAttribute("message", "Hello from JSP!");
return "jsp-template"; // JSP视图名称
}
}
以上就是如何在Spring Boot中同时使用Thymeleaf、FreeMarker和JSP模板引擎的步骤。当然,你需要根据具体情况进行相应的配置和调整。