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日

相关文章

  • JSP中使用JDBC访问SQL Server 2008数据库示例

    下面是详细的JSP使用JDBC访问SQL Server 2008数据库的攻略。 环境准备 安装SQL Server 2008数据库,并创建一个数据库。 下载并安装SQL Server 2008 JDBC驱动包。下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=21599 配置Eclip…

    Java 2023年6月15日
    00
  • 详解Java中的println输入和toString方法的重写问题

    下面是详解Java中的println输入和toString方法的重写问题的完整攻略。 一、概述 在Java中,我们经常需要输出字符串以便于调试代码、观察程序运行逻辑等。此时,Java提供的println方法就非常方便,我们可以通过System.out.println()将信息输出到控制台。不过,在输出对象时,可能会遇到一些问题,比如输出的信息不够明确、可读性…

    Java 2023年5月26日
    00
  • Java数组的去重

    Java数组去重是一个非常基础和常见的操作,本文将介绍两种常见的去重方法:使用Set去重和使用Stream去重。 使用Set去重 使用Set来去重是最为常见的一种方式,其原理很简单,就是将数组转换为Set,再将Set转换为数组即可。 示例代码如下: public static int[] removeDuplicates(int[] arr) { Set&l…

    Java 2023年5月26日
    00
  • java蓝桥杯试题

    Java蓝桥杯试题攻略 本攻略旨在帮助参加Java蓝桥杯比赛的选手掌握正确解题方法,其中包括以下内容: 蓝桥杯考试的基本信息 解题思路和方法 注意事项和常见错误 示例讲解 1. 蓝桥杯考试的基本信息 蓝桥杯竞赛是由中国教育部高等学校计算机类专业教学指导委员会、中国计算机学会、CCF教育专委会主办的全国性计算机科学比赛,共分为省赛和全国赛两个阶段,是我国本科生…

    Java 2023年5月19日
    00
  • python中jieba库(中文分词库)使用安装教程

    下面是“Python中jieba库使用安装教程”的完整攻略。 简介 jieba是一款优秀的Python中文分词库,可实现中文文本的分词和词性标注。同时,jieba还支持自定义词典,可根据具体需求进行分词。 安装 方法一:使用pip安装 使用pip安装是比较常见的方法,可在命令行窗口中输入以下命令: pip install jieba 方法二:源码安装 使用源…

    Java 2023年5月19日
    00
  • Spring入门实战之Profile详解

    以下是 “Spring入门实战之Profile详解”的完整攻略: 什么是 Spring Profile Spring是一个非常流行的 JavaEE 框架,它提供了许多元数据、配置和依赖注入等功能,便于我们快速构建应用程序。Spring Profile 是 Spring 框架中一项非常有用的功能。它可以用于定义可重用的配置、属性文件、JavaBean、组件等,…

    Java 2023年5月19日
    00
  • java进阶之了解SpringBoot的配置原理

    Java进阶之了解Spring Boot的配置原理 Spring Boot是一个非常流行的Java开发框架,它可以帮助我们快速搭建Web应用程序。在使用Spring Boot时,我们需要了解其配置原理,以便更好地理解其工作原理。本文将介绍Spring Boot的配置原理,包括自动配置、条件注解、配置文件等。 1. 自动配置 Spring Boot的自动配置是…

    Java 2023年5月14日
    00
  • Java使用@Validated注解进行参数验证的方法

    下面是详细的讲解。 一、什么是@Validated注解? 在Java中,我们经常需要对请求传入的参数进行验证。为了实现验证,我们需要使用注解。而@Validated注解就是Spring框架中用于对方法入参进行校验的注解之一。它一般与@RequestParam、@RequestBody等注解结合使用。 二、使用@Validated注解进行参数验证的方法 1. …

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