使用Freemarker视图
Spring Boot默认对Freemarker也有支持,需哟使用Freemarker的第一步是加入Freemarker的依赖。
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration
负责对Freemarker进行自动配置。默认Freemarker将在classpath:/templates/
路径下寻找模板,且默认将在视图名称后加上.ftl
后缀,即当返回的视图名称是abc时,返回的Freemarker模板文件是classpath:/templates/abc.ftl
。现假设有如下Controller,当访问/freemarker/hello
时将返回classpath:/templates/hello.ftl
模板文件。
@Controller
@RequestMapping("freemarker")
public class FreemarkerController {
@GetMapping
public String index() {
return "index";
}
@GetMapping("hello")
public String hello(Map<String, Object> model) {
model.put("message", "helloWorld!");
model.put("list", Arrays.asList(10, 20, 30, 40, 50));
return "hello";
}
}
如果hello.ftl
的内容如下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello Freemarker</title>
</head>
<body>
Hello Freemarker!
<br/>
${message}
<ul>
列表元素是:
<#list list as item>
<li>${item}</li>
</#list>
</ul>
</body>
</html>
那么当访问/freemarker/hello
时你将看到如下内容。
如果不想使用默认的模板路径,可以通过spring.freemarker.templateLoaderPath
属性进行指定,它可以同时指定多个路径。它也可以通过spring.freemarker.prefix
指定模板的前缀,通过spring.freemarker.suffix
指定模板的后缀。这些属性将由FreeMarkerProperties负责接收。当我们指定了如下配置时,如果返回的视图名称是abc,则将寻找classpath:/freemarker/prefix/abc.ftl
或classpath:/ftl/prefix/abc.ftl
。
spring.freemarker.templateLoaderPath=classpath:/freemarker/,classpath:/tpl/
spring.freemarker.prefix=prefix/
spring.freemarker.suffix=.ftl
(注:本文基于Spring Boot 2.0.3所写)
相关推荐
在IT行业中,Spring Boot、MyBatis和FreeMarker是三个非常重要的开源框架,它们共同构建了一个高效、便捷的Web开发环境。Spring Boot简化了Spring应用的初始搭建以及开发过程,MyBatis则是一个轻量级的持久层框架,...
综上所述,这个项目利用Spring Boot的便捷性,MyBatis的数据访问能力,FreeMarker的视图渲染功能,以及Maven的项目构建和管理,构建了一个高效、易维护的Web应用程序。这样的架构设计能够帮助开发者快速搭建项目,...
4. 控制器与视图:在Controller中,使用`ModelAndView`或`String`返回Freemarker模板的名称,Spring Boot会自动处理并返回相应的HTML。 四、IDEA中的项目构建与运行 1. 创建新项目:在IntelliJ IDEA中选择Spring ...
- Spring Boot支持集成RabbitMQ、Kafka等消息中间件,使用`@RabbitListener`或`@KafkaListener`处理消息。 12. **缓存** - 集成Redis、Hazelcast等缓存系统,使用`@Cacheable`、`@CacheEvict`进行缓存管理。 13....
通过Spring Boot 2、Hibernate和FreeMarker的集成,你可以创建一个轻量级的、面向对象的Web应用,其中数据访问层使用Hibernate简化数据库操作,而视图层利用FreeMarker生成动态HTML。这个简单的实例为初学者提供了一...
总结来说,通过Spring配置Freemarker视图解析器,我们可以将后端的Java逻辑与前端的HTML呈现分离,使得开发更加模块化。Freemarker的强大模板语言则提供了丰富的功能,让开发者能方便地创建动态页面。通过熟练掌握...
接着,作者会深入探讨Spring Boot中的Web开发,包括使用Spring MVC构建RESTful API,处理HTTP请求和响应,以及使用Thymeleaf、FreeMarker等模板引擎进行视图渲染。同时,书中也会介绍Spring Boot的安全组件——...
在讲解基础知识后,书中的实战部分会深入到Spring Boot的实际应用,包括如何创建RESTful API、使用Thymeleaf或Freemarker进行视图渲染、集成MyBatis或JPA进行数据库操作。书中还会涵盖Spring Security,它是Spring...
在本教程中,我们将深入探讨如何使用Spring Boot和FreeMarker模板引擎来生成Word文档并进行下载。Spring Boot作为Java开发的快速启动框架,简化了配置和集成,而FreeMarker则是一个强大的模板语言,用于动态生成HTML...
在Spring Boot中,它替代了JSP作为视图层技术,使得视图和控制层分离更加明确。Freemarker语法简洁,支持条件判断、循环等复杂逻辑,为开发者提供了灵活的页面设计方式。 五、用户登录注册实现 1. 用户注册:首先,...
创建Spring Boot的控制器类,处理HTTP请求并返回FreeMarker视图: ```java @RestController public class MyController { @GetMapping("/") public ModelAndView home() { Map, Object> model = new HashMap...
然而,Spring Boot默认并不支持JSP视图解析,因为它的设计理念是推崇RESTful API和使用模板引擎如Thymeleaf或Freemarker。但如果你的项目需要使用JSP,可以通过以下步骤进行配置: 1. 添加`spring-boot-starter-web...
接着,书中深入讨论了Spring Boot中的Web开发,涵盖了使用Spring MVC开发RESTful API、处理HTTP请求、响应式编程模型以及集成Thymeleaf、FreeMarker等模板引擎进行视图渲染。对于数据库操作,书中有详尽的章节讲述...
《Spring开发指南——中文版》是由夏昕编著的一本针对Spring框架的中文教程,旨在帮助开发者更好地理解和应用Spring框架。Spring是Java平台上的一个核心框架,广泛应用于企业级应用开发,提供了一种全面的编程和配置...
同时,它也集成了Thymeleaf、FreeMarker等模板引擎进行视图渲染。 7. **数据访问**:Spring Boot对JPA和MyBatis等持久层框架有很好的支持,提供了数据源配置、事务管理等功能。例如,使用`spring-boot-starter-data...
在当今的软件开发中,Spring Boot、Spring Data JPA和FreeMarker的整合已经成为了构建高效、简洁Web应用的常见选择。本篇将深入探讨如何将这三个强大的工具结合在一起,通过源码样例进行详细解读。 首先,让我们...
综合上述信息,我们可以创建一个Spring Boot应用,使用Spring Data JPA进行数据持久化,Spring Security负责应用的安全管理,达梦数据库作为后端数据存储,FreeMarker处理前端展示,最后通过Assembly插件将整个项目...
书中也会涉及Spring Boot的Web开发,包括RESTful API设计、使用Thymeleaf和FreeMarker模板引擎进行视图渲染,以及整合WebSocket实现实时通信。对于微服务架构,读者会学习如何使用Spring Cloud与Spring Boot结合,...
1. **配置视图解析器**:Spring Boot 默认支持Thymeleaf、Freemarker和Groovy模板引擎。 2. **使用@RestController和@RequestMapping**:实现HTTP请求的映射和处理。 3. **全局异常处理**:通过@ControllerAdvice和@...
同时,它也提供了对Thymeleaf、FreeMarker、JSP等视图解析器的支持。 4. **数据访问**:Spring Boot 集成了JPA(Java Persistence API)和Spring Data,方便操作数据库。它支持多种数据库,如MySQL、PostgreSQL、H2...