SpringBoot整合Freemarker实现页面静态化的详细步骤

yizhihongxing

下面是详细的步骤:

1. 创建Spring Boot项目

可以使用Spring Boot官方提供的Spring Initializr快速生成一个基础项目。

2. 添加依赖

在pom.xml文件中添加Freemarker依赖:

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

3. 配置Freemarker

在application.properties或application.yml中添加Freemarker的配置:

application.properties

# 设置Freemarker模板目录
spring.freemarker.template-loader-path=classpath:/templates
# 设置Freemarker模板缓存
spring.freemarker.cache=false
# 设置Freemarker模板后缀
spring.freemarker.suffix=.ftl

application.yml

spring:
  freemarker:
    # 设置Freemarker模板目录
    template-loader-path: classpath:/templates
    # 设置Freemarker模板缓存
    cache: false
    # 设置Freemarker模板后缀
    suffix: .ftl

4. 创建Controller

在项目中创建一个Controller,例如:

@Controller
public class IndexController {
    @Autowired
    private ArticleService articleService;

    @GetMapping("/")
    public String index(Model model) {
        // 获取最新的10篇文章
        List<Article> articleList = articleService.findLatestArticles(10);
        model.addAttribute("articleList", articleList);
        return "index";
    }
}

5. 创建模板

在templates目录下创建index.ftl文件(根据Controller中的返回值指定文件名),例如:

<!DOCTYPE html>
<html>
<head>
    <title>首页</title>
</head>
<body>
    <h1>最新文章</h1>
    <ul>
        <#list articleList as article>
            <li><a href="/article/${article.id}">${article.title}</a></li>
        </#list>
    </ul>
</body>
</html>

6. 运行应用

启动应用后,访问"http://localhost:8080/"即可看到经过Freemarker渲染后的页面。

示例1

官方示例为基础,具体步骤为:

  1. 使用Spring Initializr创建一个基础项目。
  2. 在pom.xml文件中添加依赖:

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

  1. 创建一个可以提供hello页面的Controller。

```java
package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
```

  1. 在resources/templates目录下创建hello.ftl文件。

```html



Welcome

Hello, ${name}!


```

  1. 启动程序,访问"http://localhost:8080/hello",即可看到页面上显示Hello, World!

示例2

以一个博客网站为例,具体步骤为:

  1. 创建一个基础项目。
  2. 添加Freemarker依赖。
  3. 配置Freemarker相关属性。
  4. 编写Controller提供文章详情页。
  5. 在模板中嵌套文章详情页面的模板。
  6. 启动程序,访问"http://localhost:8080/article/1",即可看到经过Freemarker渲染后的文章详情页。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Freemarker实现页面静态化的详细步骤 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Spring Boot Admin 添加报警提醒和登录验证功能的具体实现

    下面我来详细讲解Spring Boot Admin添加报警提醒和登录验证功能的具体实现。 1. 添加报警提醒 1.1 准备工作 首先,我们需要准备以下工作: 安装 Spring Boot Admin 安装 Spring Boot Admin Server Extensions 扩展 1.2 添加报警提醒功能 在 spring-boot-admin-serve…

    Java 2023年6月3日
    00
  • Java使用JDBC连接数据库的实现方法

    下面是详细讲解“Java使用JDBC连接数据库的实现方法”的完整攻略。 JDBC简介 Java数据库连接(Java Database Connectivity,JDBC)是Java语言中用于规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库记录的方法。 JDBC是基于面向对象设计思想的接口,它是Java访问数据库的标准方式,使得Java程…

    Java 2023年6月16日
    00
  • Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式

    下面详细讲解“Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式”的完整攻略。 1. 准备工作 在进行LaTex数学函数表达式转化成图片的操作前,我们需要安装一个开源工具库,名称为MathJax。MathJax是一个JavaScript引擎,可以将LaTex数学表达式转化为HTML、SVG和MathML。 其次,我们需要一个H…

    Java 2023年5月26日
    00
  • Mac OS下为Android Studio编译FFmpeg解码库的详细教程

    下面是Mac OS下为Android Studio编译FFmpeg解码库的详细教程: 1. 安装 homebrew homebrew 是 Mac OS 上的包管理器,可以通过命令行轻松安装各种软件和工具。 安装 homebrew,可以在终端内运行以下命令: /bin/bash -c "$(curl -fsSL https://raw.githubu…

    Java 2023年5月20日
    00
  • java解析XML详解

    Java解析XML详解 XML 概述 XML(Extensible Markup Language) 是一种标记语言,用于存储和传输数据。XML 文档由许多元素构成,每个元素包含一个开始标签、一个结束标签和其中间的一些内容。 XML 和 HTML 最大的不同在于,XML 的标签是自定义的,因此具有更强的灵活性和可扩展性。XML 通常用于将数据从一种格式转换为…

    Java 2023年5月19日
    00
  • idea连接sql sever2019图文教程(超详细)

    下面我将给出“idea连接sql sever2019图文教程(超详细)”的完整攻略,包括示例说明。 准备工作 下载安装JDBC驱动; 确认SQL Server已启动并运行。 开始连接数据库 新建一个Java项目; 将下载的JDBC Driver添加到项目库中; 在项目中创建一个Java类文件,例如“SqlConnectDemo.java”; 为访问SQL S…

    Java 2023年6月16日
    00
  • 5个步骤让你明白多线程和线程安全

    5个步骤让你明白多线程和线程安全 多线程编程是并发编程的一种实现方式,它允许多个线程同时执行,从而提高程序的性能。但同时也带来了线程安全问题,需要仔细谨慎地编写多线程程序。下面是5个步骤帮助你理解多线程和线程安全的攻略。 步骤一:理解线程和多线程 首先,需要了解线程和多线程的概念。线程是操作系统分配的最小的执行单元,多线程则表示同时执行多个线程。多线程编程需…

    Java 2023年5月26日
    00
  • java算法实现预测双色球中奖号码

    Java算法实现预测双色球中奖号码攻略 1. 背景介绍 双色球是一种中国彩票游戏,由中国福利彩票发行中心组织销售。双色球每周进行两次摇奖,每次从1至33个红色数字球中随机摇出6个,并从1至16个蓝色数字球中随机摇出1个,共7个数字。 对于热爱双色球彩票的玩家来说,预测开奖号码是程序化选号的一种选择。本文主要介绍Java算法实现预测双色球中奖号码的完整攻略和示…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部