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

下面是详细的步骤:

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日

相关文章

  • Sprint Boot @Repository使用方法详解

    在Spring Boot中,@Repository是一个注解,用于标识一个类是数据访问层(DAO)的组件。本文将详细介绍@Repository的作用和使用方法。 @Repository的作用 @Repository注解的作用是将一个类标识为数据访问层(DAO)的组件。在Spring Boot中,数据访问层通常用于与数据库进行交互,包括查询、插入、更新和删除数…

    Java 2023年5月5日
    00
  • javaSE中异常如何处理举例详解

    JavaSE中的异常处理是一项重要的技能,它可以使我们更好地处理程序出现的错误,并及时解决问题,避免程序崩溃或者异常退出,给用户带来不必要的麻烦。下面我们来详细讲解JavaSE中异常处理的攻略,并通过两个具体的示例来说明。 异常的概念 在Java中,异常是一种事件,它会在程序执行期间导致出现未经处理的错误或异常情况。Java提供了一套API来处理运行时异常和…

    Java 2023年5月26日
    00
  • Java上传文件错误java.lang.NoSuchMethodException的解决办法

    Java上传文件时,可能会出现java.lang.NoSuchMethodException错误,这通常是由于使用了错误的MultipartResolver解析器所致。下面是解决此问题的完整攻略: 1. 确认Spring版本 首先,确认你的Spring版本是否能够支持MultipartResolver解析器。MultipartResolver解析器的支持是从…

    Java 2023年5月25日
    00
  • Spring注解驱动之ApplicationListener异步处理事件说明

    在Spring应用程序中,我们可以使用ApplicationListener接口来处理应用程序事件。在本文中,我们将详细介绍如何使用ApplicationListener异步处理事件,并提供两个示例说明。 1. ApplicationListener接口 ApplicationListener接口是Spring框架中的一个接口,用于处理应用程序事件。当应用程…

    Java 2023年5月18日
    00
  • Flash 实用代码总汇第1/2页

    我们来详细讲解一下“Flash 实用代码总汇第1/2页”的完整攻略。 1. 概述 本篇攻略主要介绍了 Flash 实用代码总汇第1/2页 的使用方法,其中包含了有关 Flash 常用代码的分类、查找和使用等方面的内容。该代码总汇包含了许多 Flash 动画制作过程中可能用到的代码,对于 Flash 初学者或是想要提高 Flash 制作技能的人来说都是非常有用…

    Java 2023年6月15日
    00
  • Spring Security使用Lambda DSL配置流程详解

    Spring Security使用Lambda DSL配置 Spring Security是为了保护应用程序的安全而开发的,它提供了许多功能,例如身份验证、授权和攻击防御。本文将演示如何使用Spring Security的Lambda DSL进行配置。 添加依赖 首先,我们需要添加Spring Security的依赖: <dependency> …

    Java 2023年6月3日
    00
  • Java终止线程实例和stop()方法源码阅读

    Java中有多种方式可以终止线程,其中包括共享变量、使用interrupt()方法、使用stop()方法等,本文着重讲解stop()方法的使用和源码阅读。 1. stop()方法的使用 stop()方法是Thread类中提供的方法,可以立即终止线程的执行。但是,它并不推荐使用,因为它可能会导致线程未能完成它该做的任务,引发不确定的错误。 下面是stop()方…

    Java 2023年5月19日
    00
  • Java图书管理系统课程设计

    Java图书管理系统课程设计攻略 一、需求分析 在进行Java图书管理系统课程设计之前,需要对系统需求进行分析和明确。在这个阶段,需要考虑的问题包括: 系统的主要功能模块,如图书信息录入、查询、借阅、归还等等。 系统的用户管理模块,包括管理员和普通用户的不同权限和功能。 系统的数据存储模块,需要设计数据库表结构和关键数据处理逻辑等。 二、设计数据库 根据需求…

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