• DEMO: springboot 与 freemarker 集成


    直接在 DEMO: springboot 与 mybatis 集成 基础上,进行修改。

    1、pom.xml 中引用 依赖

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

    2、src/main/resources/application.properties 中添加 freemarker 配置

    关键是模板的位置:spring.freemarker.template-loader-path=classpath:/static/ftl

    ########################################################
    ###freemarker
    ########################################################
    spring.freemarker.allow-request-override=false
    spring.freemarker.allow-session-override=false
    spring.freemarker.cache=true
    spring.freemarker.charset=UTF-8
    spring.freemarker.check-template-location=true
    spring.freemarker.content-type=text/html
    spring.freemarker.enabled=true
    spring.freemarker.expose-request-attributes=false
    spring.freemarker.expose-session-attributes=false
    spring.freemarker.expose-spring-macro-helpers=true
    spring.freemarker.prefer-file-system-access=true
    spring.freemarker.suffix=.ftl
    spring.freemarker.template-loader-path=classpath:/static/ftl
    spring.freemarker.settings.template_update_delay=0
    spring.freemarker.settings.default_encoding=UTF-8
    spring.freemarker.settings.classic_compatible=true
    spring.freemarker.order=1

    3、添加模板文件 src/main/resources/static/ftl/student.ftl

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
          xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
    <#list students as student >
     ${student.id} - ${student.name} - ${student.sex} - ${student.no} <br/>
    </#list>
    </body>
    </html>

    4、修改 StudentController.java

    1、方法返回,void 改成 String,返回模板名字 “student”

    2、加个map入参,传数据给前端模板

    package demo.springboot.controller;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import demo.springboot.model.Student;
    import demo.springboot.service.StudentService;
    
    @Controller
    @RequestMapping("/student")
    public class StudentController {
    
        private static final Logger LOGGER =  LoggerFactory.getLogger(StudentController.class);
        
        @Autowired
        private StudentService studentService;
        
        @RequestMapping("/list")
        public String listStudent(Map<String, Object> map){
            List<Student> students = new ArrayList<>();
            students = studentService.listStudents();
            
            for (Student student : students){
                LOGGER.info(student.getId() + " - " + student.getName() + " - " + student.getNo() + " - " + student.getSex());
            }
            
            map.put("students", students);
            
            return "student";
        }
        
    }

    5、启动应用,浏览器访问 http://localhost:8080/student/list,大功告成

  • 相关阅读:
    强化学习 | D3QN原理及代码实现
    Airtest入门及多设备管理总结
    JS图片base64压缩
    ABP框架
    .net gof23种设计模式
    VS2013添加Socket
    VS2013用InstallShield打包winfrom项目
    .net core3.1 log4net无法写日志
    git commit 修改提交说明信息
    screen 使用总结
  • 原文地址:https://www.cnblogs.com/dannyyao/p/6993290.html
Copyright © 2020-2023  润新知