使用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所写)
相关推荐
Spring配置Freemarker视图解析器,配置多个视图解析器
- chapter9-2-1:[Spring Boot中使用Dubbo进行服务治理] - chapter9-2-2:[Spring Boot与Dubbo中管理服务依赖] ### Spring Cloud构建微服务架构 由于Spring Cloud偏宏观架构,Spring Boot偏微观细节,内容上越来越...
chapter3-1-3:使用Freemarker模板引擎渲染web视图 chapter3-1-4:使用Velocity模板引擎渲染web视图 chapter3-1-5:使用Swagger2构建RESTful API chapter3-1-6:统一异常处理 chapter3-1-7:使用Java 8中LocalDate等...
1.Spring Boot 整合 JSP 案例 2.Spring Boot 整合 FreeMarker 案例 3.Spring Boot 整合 Thymeleaf 案例
高仿某在线教育网站,后端采用Java编写。包含登录、注册、个人设置、我的学习、我的账户、课程列表、课程详情、课时、视频播放、... 所用技术 java+SpringBoot、SpringData JPA、BootStrap、FreeMarker、MySQL、Maven
视图框架:Spring MVC 定时器:Quartz 数据库连接池:Druid 日志管理:logback 页面交互:layui 下拉框:bootstrap-select 文件上传:Bootstrap File Input 热部署 jrebel 验证框架 hibernate-validator Java商城...
3.3、使用Freemarker模板引擎渲染web视图 6 3.3.1、pom文件引入: 6 3.3.2、后台代码 6 3.3.3、前台代码 6 3.3.4、Freemarker其他用法 7 3.3.5、Freemarker配置 8 3.4、使用JSP渲染Web视图 8 3.4.1、pom文件...
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速...1、action支持形参注入2、模板引擎支持spring、spring boot3、添加ClassPathSource支持从class path及jar包读取模板文件4、模板引擎添加ext
核心框架:Spring Boot 1.5.1 安全框架:Apache Shiro 视图框架:Spring MVC 持久层框架:MyBatis MyBatisPlus 缓存技术:EhCache,Redis 数据库连接池:Druid 日志管理:SLF4J、Log4j 模版技术:FreeMarker 页面交互...
2、模板引擎支持spring、spring boot 3、添加ClassPathSource支持从class path及jar包读取模板文件 4、模板引擎添加extension method功能 5、ActiveRecordPlugin支持自动类型转换 6、添加 IDbProFactory,支持...
我们首先创建一个具有'data-jpa','freemarker'和'h2'依赖关系的Spring Boot Web应用程序。 $ spring init crud -d=web,data-jpa,freemarker,h2 我们将使用帮助我们创建一个可以轻松持久和查询的Note模型。 为了使...
SpringBoot集成MyBatisPlus 技术选型: 核心框架:Spring Boot 1.5.1 安全框架:Apache Shiro 视图框架:Spring MVC 持久层框架:MyBatis MyBatisPlus 缓存技术:EhCache,Redis 数据库连接池:Druid 日志管理:SLF4J...
lenos(p为spring boot版本扩展名)一款快速开发模块化脚手架,采用spring boot 2.0.1+spring+SpringMvc+mybatis+shiro+swagger+ehcache+quartz+freemarker+layui技术开发;实现功能有系统模块:菜单管理、用户管理、...
视图模板 Freemarker 其它 Jsoup、fastjson jQuery、Seajs Bootstrap 前端框架 UEditor/Markdown编辑器 font-Awesome 字体/图标 准备工作(sql文件在项目里面) 安装 Jdk8 安装 Maven 准备 IDE (如果你不看源码,...