`
234390216
  • 浏览: 10193196 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:460801
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1771787
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1395412
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:393882
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:678212
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:529286
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1178713
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:461862
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:150116
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:66835
社区版块
存档分类
最新评论

Spring Boot(24)——使用Freemarker视图

阅读更多

使用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时你将看到如下内容。

freemarker结果

如果不想使用默认的模板路径,可以通过spring.freemarker.templateLoaderPath属性进行指定,它可以同时指定多个路径。它也可以通过spring.freemarker.prefix指定模板的前缀,通过spring.freemarker.suffix指定模板的后缀。这些属性将由FreeMarkerProperties负责接收。当我们指定了如下配置时,如果返回的视图名称是abc,则将寻找classpath:/freemarker/prefix/abc.ftlclasspath:/ftl/prefix/abc.ftl

spring.freemarker.templateLoaderPath=classpath:/freemarker/,classpath:/tpl/
spring.freemarker.prefix=prefix/
spring.freemarker.suffix=.ftl

(注:本文基于Spring Boot 2.0.3所写)

0
0
分享到:
评论

相关推荐

    Spring配置Freemarker视图解析器,配置多个视图解析器

    Spring配置Freemarker视图解析器,配置多个视图解析器

    spring boot 全面的样例代码

    - chapter9-2-1:[Spring Boot中使用Dubbo进行服务治理] - chapter9-2-2:[Spring Boot与Dubbo中管理服务依赖] ### Spring Cloud构建微服务架构 由于Spring Cloud偏宏观架构,Spring Boot偏微观细节,内容上越来越...

    springboot学习

    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等...

    SpringBootDemo:视图模板技术的整合案例

    1.Spring Boot 整合 JSP 案例 2.Spring Boot 整合 FreeMarker 案例 3.Spring Boot 整合 Thymeleaf 案例

    高仿某在线教育网站(java+SpringBoot+SpringData+JPA+BootStrap+FreeMarker)

    高仿某在线教育网站,后端采用Java编写。包含登录、注册、个人设置、我的学习、我的账户、课程列表、课程详情、课时、视频播放、... 所用技术 java+SpringBoot、SpringData JPA、BootStrap、FreeMarker、MySQL、Maven

    Java商城后台管理系统,接私活利器.zip

    视图框架:Spring MVC 定时器:Quartz 数据库连接池:Druid 日志管理:logback 页面交互:layui 下拉框:bootstrap-select 文件上传:Bootstrap File Input 热部署 jrebel 验证框架 hibernate-validator Java商城...

    SpringBoot新手学习手册

    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 v3.2

    JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速...1、action支持形参注入2、模板引擎支持spring、spring boot3、添加ClassPathSource支持从class path及jar包读取模板文件4、模板引擎添加ext

    SpringBoot集成MyBatisPlus

    核心框架:Spring Boot 1.5.1 安全框架:Apache Shiro 视图框架:Spring MVC 持久层框架:MyBatis MyBatisPlus 缓存技术:EhCache,Redis 数据库连接池:Druid 日志管理:SLF4J、Log4j 模版技术:FreeMarker 页面交互...

    JFinal(JAVA 极速WEB ORM框架 ) v3.2.zip

    2、模板引擎支持spring、spring boot 3、添加ClassPathSource支持从class path及jar包读取模板文件 4、模板引擎添加extension method功能 5、ActiveRecordPlugin支持自动类型转换 6、添加 IDbProFactory,支持...

    annotated-spring-episode-004:CRUD Web应用

    我们首先创建一个具有'data-jpa','freemarker'和'h2'依赖关系的Spring Boot Web应用程序。 $ spring init crud -d=web,data-jpa,freemarker,h2 我们将使用帮助我们创建一个可以轻松持久和查询的Note模型。 为了使...

    springboot 整合 mybaitsplus

    SpringBoot集成MyBatisPlus 技术选型: 核心框架:Spring Boot 1.5.1 安全框架:Apache Shiro 视图框架:Spring MVC 持久层框架:MyBatis MyBatisPlus 缓存技术:EhCache,Redis 数据库连接池:Druid 日志管理:SLF4J...

    lenosp快速开发脚手架-其他

    lenos(p为spring boot版本扩展名)一款快速开发模块化脚手架,采用spring boot 2.0.1+spring+SpringMvc+mybatis+shiro+swagger+ehcache+quartz+freemarker+layui技术开发;实现功能有系统模块:菜单管理、用户管理、...

    SpringBoot开发非常美观的java博客系统(包含后台管理功能)

    视图模板 Freemarker 其它 Jsoup、fastjson jQuery、Seajs Bootstrap 前端框架 UEditor/Markdown编辑器 font-Awesome 字体/图标 准备工作(sql文件在项目里面) 安装 Jdk8 安装 Maven 准备 IDE (如果你不看源码,...

Global site tag (gtag.js) - Google Analytics