springboot之freemarker模板

导入pom依赖


	org.springframework.boot
	spring-boot-starter-freemarker
 

application.yml文件的默认配置

spring:
  thymeleaf:
    cache: false
  freemarker:
    # 设置模板后缀名
    suffix: .ftl
    # 设置文档类型
    content-type: text/html
    # 设置页面编码格式
    charset: UTF-8
    # 设置页面缓存
    cache: false
    # 设置ftl文件路径,默认是/templates,为演示效果添加role
    template-loader-path: classpath:/templates/role
  mvc:
    static-path-pattern: /static/**

注意:在开发项目期间cache: false ,项目开发完了建议改为true

list.ftl 相关代码




    
    角色
    <#include 'common.ftl' >


取值

welcome 【${name !'啦啦啦'}】 to page

非空判断

<#if name?exists> 你好

条件表达式

<#if sex=='男'> 穿裤子 <#elseif sex=='女'> 穿群子 <#else> 不告诉你 <#list users as user>
id 名字 密码
${user.uid} ${user.usename} ${user.password}

变量的设置(局部,全局)

<#assign ctx1 > ${springMacroRequestContext.contextPath} <#global ctx2> ${springMacroRequestContext.contextPath}

include

<#include 'foot.ftl'>

foot.ftl相关代码

版本权
登录1
登录2

common.ftl相关代码

<#assign ctx >
    ${springMacroRequestContext.contextPath}


login.ftl相关代码

欢迎进入login 页面

相关controller层的Java代码

     @RequestMapping("/role/list")
        public ModelAndView rolelist(){
            ModelAndView modelAndView=new ModelAndView();
            modelAndView.addObject("name",null);
            modelAndView.addObject("sex","男");
            List list=new ArrayList<>();
            list.add(new User(1,"zs","123"));
            list.add(new User(2,"ls","123"));
            modelAndView.addObject("users",list);
            modelAndView.setViewName("list");
            return modelAndView ;
        }

    @RequestMapping("/toLogin")
    public ModelAndView toLogin(){
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.setViewName("login");
        return modelAndView ;
    }

浏览器显示结果

springboot之freemarker模板_第1张图片

springboot之freemarker模板_第2张图片

springboot之freemarker模板_第3张图片

注意点:

1、application.yml中可以配置模板存放位置的根路径、以及静态资源文件存放位置的根路径

2、${springMacroRequestContext.contextPath}:SpringBoot中获取项目名

3、不推荐使用全局变量。即便它们属于不同的命名空间, 全局变量也被所有模板共享,因为它们是被 import进来的。

4、freemarker模板也可以像jsp那样设置根路径

<#include 'common.ftl'>
    
                    
                    

你可能感兴趣的:(springboot之freemarker模板)