springboot整合freemarker模板引擎

引入启步依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

配置相关参数

spring:
  freemarker:
    charset: UTF-8 #freemarker编码
    content-type: text/html;charset=UTF-8
    expose-request-attributes: true # 暴露请求参数
    expose-session-attributes: true # 把session中的属性也暴露到变量中
    expose-spring-macro-helpers: true
    suffix: .ftl
    settings: 
      datetime_format: yyyy-MM-dd HH:mm:ss
      default_encoding: UTF-8

在resources目录下面的templates目录下创建文件

resources\templates\hello.ftl

<!DOCTYPE html>
<html lang="en-US">
    <head></head>
    <body>hello,${user.name}</body>
</html>

创建controller

package cn.ztjr.house.controller;

import cn.ztjr.house.mapper.UserMapper;
import cn.ztjr.house.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
public class HelloController {
    @Autowired
    private UserMapper userMapper;

    @RequestMapping("hello")
    public String hello(ModelMap modelMap){
        List<User> users = userMapper.select01();
        User one = users.get(0);
        modelMap.put("user",one);
        //返回模板引擎的名字
        return "hello";
    }
}

启动后可以正常访问,关于freemarker的语法,需要自行查看官网。

抽取页面中相同的部分

定义成宏
在需要的地方可以引入,减少重复编码
创建目录templates.common
编写common.ftl

还需要配置application.yml,告诉freemark这个common是一个空文件而不是一个简单的freemarker文件
在这里插入图片描述

创建templates.homepage
创建index.ftl
引入时,通过这种语法引入。
在这里插入图片描述

编写一个Controller返回index
在这里插入图片描述

将静态资源拷贝到resources目录下面的static目录,spring会自动识别static目录为一个静态文件目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值