我正在使用 Spring Boot 和 HTML 頁面構建一個 Web 應用程式。
在多個 HTML 頁面中,我使用相同的導航欄:
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a href="/home" class="nav-link">Home</a>
</li>
<li class="nav-item">
<a href="/user/showAllProducts" class="nav-link">All Products</a>
</li>
現在我必須更改顯示所有產品的 API 的 URL (/user/showAllProducts),并且我必須更改大約 10 個 HTML 頁面。
有沒有一種簡單的方法可以在一個組態檔(application.properties?)中管理所有 API URL 并將它們直接注入 HTML 頁面?將顯示所有產品的串列項只是導航欄中許多其他鏈接的一個示例。
非常感謝你的幫助
uj5u.com熱心網友回復:
最好的方法是在區域的背景關系中。如果您想使用 thymeleaf 或 jsp 之類的東西,您可以在每個 HTML 或 JSP 檔案中將導航欄作為一行插入,然后隨時更改特定的部分檔案(導航欄、頁眉、頁腳等),它將被插入到任何頁面正在網路應用程式中顯示。
這是 Spring 檔案中的示例。
https://www.baeldung.com/spring-thymeleaf-fragments
uj5u.com熱心網友回復:
您可以使用${@environment.getProperty('key')}讀取屬性application.properties
并使用th:fragment為您的頁面創建可重用的片段。
首先,創建一個nav.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head></head>
<body>
<ul th:fragment="nav" class="navbar-nav mr-auto">
<li class="nav-item active">
<a th:href="${@environment.getProperty('your.home.property.here')}" class="nav-link">Home</a>
</li>
<li class="nav-item">
<a th:href="${@environment.getProperty('your.products.property.here')}" class="nav-link">All Products</a>
</li>
</body>
</html>
并th:replace在您的頁面中使用。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Hello Thymeleaf</title>
</head>
<body>
<div th:replace="nav :: nav"></div>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/463679.html
