具体要求如下; l在SpringBoot中利用Thymeleaf展示商品信息,排版美观,能在SpringBoot项目里运行。 l创建商品信息类,包括信息由商品名称,商品详细描述,商品的价格,商品的库存
时间: 2024-10-13 10:18:13 浏览: 17
在Spring Boot项目中,利用Thymeleaf模板引擎可以方便地展示商品信息,并保证排版美观。首先,你需要做以下几个步骤:
1. **配置依赖**:
在`pom.xml`文件中添加Thymeleaf的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
```
2. **创建商品信息类**(Product.java):
```java
public class Product {
private String productName;
private String productDescription;
private double price;
private int stock;
// getters and setters
public String getProductName() { return productName; }
public void setProductName(String productName) { this.productName = productName; }
public String getProductDescription() { return productDescription; }
public void setProductDescription(String productDescription) { this.productDescription = productDescription; }
public double getPrice() { return price; }
public void setPrice(double price) { this.price = price; }
public int getStock() { return stock; }
public void setStock(int stock) { this.stock = stock; }
}
```
3. **创建服务层**(ProductService.java)用于处理商品数据:
```java
import java.util.List;
public interface ProductService {
List<Product> getAllProducts();
Product getProductById(Long id);
}
```
4. **Controller层**(HomeController.java)接收请求并渲染模板:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@Autowired
private ProductService productService;
@GetMapping("/")
public String showProducts(Model model) {
List<Product> products = productService.getAllProducts();
model.addAttribute("products", products);
return "productList"; // Thymeleaf视图名称
}
}
```
5. **创建Thymeleaf视图**(productList.html):
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<!-- 样式表链接 -->
</head>
<body>
<table>
<thead>
<tr>
<th>产品名称</th>
<th>描述</th>
<th>价格</th>
<th>库存</th>
</tr>
</thead>
<tbody th:each="product : ${products}">
<tr>
<td th:text="${product.productName}"></td>
<td th:text="${product.productDescription}"></td>
<td>${product.price}</td>
<td th:text="${product.stock}"></td>
</tr>
</tbody>
</table>
</body>
</html>
```
现在你已经有了一个基本的Spring Boot应用,它使用Thymeleaf展示了商品列表,包括名称、描述、价格和库存。你可以进一步美化模板样式,添加分页等功能。
阅读全文