springboot使用freemarker的入门Demo

简介: 1.创建一个maven web项目2.添加所需要的依赖

1.创建一个maven web项目

2.添加所需要的依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>
<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
  </dependencies>

3.写一个接口,返回到src/main/resources/templates/test.ftl页面(freemarker默认模板后缀为ftl,默认路径是src/main/resources/templates,可以在application.properties中更改配置)

@RestController
@RequestMapping("/test")
public class Test {
  @SuppressWarnings("all")
  @RequestMapping("/fun1")
  public ModelAndView fun(HttpServletRequest request) {
    ModelAndView mv = new ModelAndView("/test");
    mv.addObject("name","vhukze");
    mv.addObject("sex",1);
    ArrayList list = new ArrayList();
    list.add("1");
    list.add("2");
    list.add("3");
    mv.addObject("list", list);
    return mv;
  }
}

配置信息

## Freemarker 配置
##模版存放路径(默认为 classpath:/templates/)
spring.freemarker.template-loader-path=classpath:/templates/
##是否生成缓存,生成环境建议开启(默认为true)
spring.freemarker.cache=false
##编码
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
##content-type类型(默认为test/html)
spring.freemarker.content-type=text/html
## 设定所有request的属性在merge到模板的时候,是否要都添加到model中(默认为false)
spring.freemarker.expose-request-attributes=false
##设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中.(默认为false)
spring.freemarker.expose-session-attributes=false
##RequestContext属性的名称(默认为-)
spring.freemarker.request-context-attribute=request
##模板后缀(默认为.ftl)
spring.freemarker.suffix=.html

4.书写test.ftl文件

<html>
    <body>
        <h2>Hello World!</h2>
        ${name}
        <#if sex=1>
        <#else>
        </#if>
        <#list list as num>
          ${num}
        </#list>
    </body>
</html>

跟EL表达式一样的取值 ${}

判断语句 <#if>  <#elseif > <#else> </#if>

遍历集合 <#list (域中的变量名) as (取出值的临时变量名)>  </#list>

这个就相当于java中的forEach语句

for (String num : list) {
  System.out.println(num);
}

访问接口方法映射路径

相关文章
|
8天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
25 2
SpringBoot入门(2) - SpringBoot HelloWorld
|
20天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
40 4
SpringBoot入门(4) - 添加内存数据库H2
|
9天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
44 5
|
8天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
25 4
|
9天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
20 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
20天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
17 2
SpringBoot入门(2) - SpringBoot HelloWorld
|
22天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
29 2
SpringBoot入门(4) - 添加内存数据库H2
|
22天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
33 1
SpringBoot入门(3) - 对Hello world进行MVC分层
|
22天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
19 1
 SpringBoot入门(2) - SpringBoot HelloWorld
|
14天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
55 13