知識庫 / Spring / Spring MVC RSS 訂閱

添加 CSS 和 JS 到 Thymeleaf

Spring MVC
HongKong
5
01:01 PM · Dec 06 ,2025

1. 簡介

本快速教程將指導您學習如何在 Thymeleaf 模板中使用 CSS 和 JavaScript。

首先,我們將介紹預期的文件夾結構,以便您知道將文件放在哪裏。之後,我們將學習如何從 Thymeleaf 模板訪問這些文件。

我們首先將為頁面添加 CSS 樣式,然後添加一些 JavaScript 功能。

2. 設置

為了在我們的應用程序中使用 Thymeleaf,讓我們將 Spring Boot Starter for Thymeleaf 添加到我們的 Maven 配置中:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>3.1.5</version>
</dependency>

3. 基本示例

This section provides a basic example to illustrate the usage of the library.

def greet(name):
  """
  This function greets the person passed in as a parameter.
  It prints a greeting message to the console.
  """
  print(f"Hello, {name}!")

greet("World")

3.1. 目錄結構

現在,提醒一下,Thymeleaf 是一種模板庫,可以輕鬆地集成到 Spring Boot 應用程序中。 默認情況下,Thymeleaf 期望我們將模板放在 src/main/resources/templates 文件夾中。 我們可以創建子文件夾,因此對於本示例,我們將使用名為 cssandjs 的子文件夾。

對於 CSS 和 JavaScript 文件,默認目錄是 src/main/resources/static 讓我們為我們的 CSS 和 JS 文件創建 static/styles/cssandjsstatic/js/cssandjs 文件夾,分別用於 CSS 和 JS 文件。

3.2. 添加 CSS

讓我們在 static/styles/cssandjs 文件夾中創建一個名為 main.css 的簡單 CSS 文件,並定義一些基本樣式:

h2 {
    font-family: sans-serif;
    font-size: 1.5em;
    text-transform: uppercase;
}

strong {
    font-weight: 700;
    background-color: yellow;
}

p {
    font-family: sans-serif;
}

接下來,讓我們在我們的 templates/cssandjs 文件夾中創建一個名為 styledPage.html 的 Thymeleaf 模板,以使用這些樣式:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Add CSS and JS to Thymeleaf</title>
    <link th:href="@{/styles/cssandjs/main.css}" rel="stylesheet" />
</head>
<body>
    <h2>Carefully Styled Heading</h2>
    <p>
        This is text on which we want to apply <strong>very special</strong> styling.
    </p>
</body>
</html>

我們使用帶有 Thymeleaf 的特殊 屬性的 <link> 標籤加載樣式表。如果我們的目錄結構符合預期,我們只需要指定以下路徑 。在這種情況下,路徑是 語法是 Thymeleaf 執行 URL 鏈接的方式。

如果運行我們的應用程序,我們會看到我們的樣式已應用。

 

 

 

 

3.3. 使用 JavaScript

接下來,我們將學習如何將 JavaScript 文件添加到 Thymeleaf 頁面中。

讓我們先將一些 JavaScript 添加到 中的一個文件中。

function showAlert() {
    alert("The button was clicked!");
}

然後我們返回到我們的 Thymeleaf 模板,並添加一個 <em&gt;script&lt;em&gt; 標籤,該標籤指向我們的 JavaScript 文件:

<script type="text/javascript" th:src="@{/js/cssandjs/actions.js}"></script>

現在,我們從模板中調用我們的方法:

<button type="button" th:onclick="showAlert()">Show Alert</button>

當我們運行我們的應用程序並點擊 顯示警報 按鈕時,我們會看到警報窗口。

在總結之前,讓我們在此示例的基礎上進行一些擴展,學習如何使用 Spring 控制器中的數據,並在我們的 JavaScript 中使用它。

我們首先修改控制器以提供頁面的名稱:

@GetMapping("/styled-page")
public String getStyledPage(Model model) {
    model.addAttribute("name", "Baeldung Reader");
    return "cssandjs/styledPage";
}

接下來,我們將在 actions.js文件中添加一個函數,以便在彈窗中使用這個名稱:

function showName(name) {
    alert("Here's the name: " + name);
}

最後,為了使用控制器中的數據調用我們的函數,我們需要使用內聯腳本。因此,我們將 name 值放入一個本地 JavaScript 變量中:

<script th:inline="javascript">
    var nameJs = /*[[${name}]]*/;
</script>

通過這樣做,我們創建了一個本地 JavaScript 變量,其中包含來自我們控制器的 name 模型值,然後我們可以將其在頁面的其餘 JavaScript 中使用。

現在我們已經完成了這個,我們可以使用 nameJs 變量調用我們的 JavaScript 函數:

<button type="button" th:onclick="showName(nameJs);">Show Name</button>

4. 結論

在本簡短教程中,我們學習瞭如何將 CSS 樣式和外部 JavaScript 功能應用於我們的 Thymeleaf 頁面。我們從推薦的目錄結構開始,並逐步工作到使用 Spring 控制器類提供的動態數據調用 JavaScript。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.