You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将H2数据库数据渲染到Thymeleaf页面?问题求助

问题:H2数据库数据无法在Thymeleaf页面渲染展示

我正在尝试将H2数据库中的数据展示到Thymeleaf页面,但页面无法正常显示数据。已经搭建好Spring Boot项目,定义了Client实体类、ClientRepository仓库、ClientController控制器,并且在启动类中插入了测试数据。控制器已查询数据并传入Model,但Thymeleaf页面无法渲染出数据,怀疑是Thymeleaf语法问题,多次修改页面仍无效果。以下是项目相关代码及截图说明:

Client.java

package com.example.demo.entities;

import java.io.Serializable;
import java.util.Collection;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Table(name = "clients")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Client implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(name = "name")  
    private java.lang.String nom;
    
    @Column(name = "adress")    
    private java.lang.String adresse;
    private String mail;
    private String telephone;
    
    
    public Client(String nom, String adresse) {
        super();
        this.nom = nom;
        this.adresse = adresse;
    }
    public Client(String nom, String adresse,  String mail, String telephone) {
        super();
        this.nom = nom;
        this.adresse = adresse;
        this.mail = mail;
        this.telephone = telephone;
    }
    public Client() {};
}

ClientController.java

package com.example.demo.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import com.example.demo.entities.Client;
import com.example.demo.repository.ClientRepository;

@Controller
public class ClientController{
    @Autowired
    public ClientRepository cr;
    @GetMapping("/")
    public String viewHomePage(Model model) {
        List <Client> list= cr.findAll();
        model.addAttribute("list",list);
        return "home";  
        
    }
        
}

ClientRepository.java

package com.example.demo.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.example.demo.entities.Client;
@Repository 
public interface ClientRepository extends JpaRepository<Client,Long>{
    
}

Shop1Application.java(启动类)

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import com.example.demo.entities.Client;
import com.example.demo.repository.ClientRepository;

@SpringBootApplication
public class Shop1Application {

    public static void main(String[] args) {
        
        ApplicationContext crt=SpringApplication.run(Shop1Application.class, args);
        ClientRepository cr=crt.getBean(ClientRepository.class);
        Client c1=new Client("Bilel","Hammamet","myemailis","123456");
        Client c2=new Client("Wissal","Tunis","herrmail","1151");
        Client c3=new Client("Mohamed","nabeul","hisemail","444");
        Client c4=new Client("anas","Hammamet","his","55222");
        Client c5=new Client("mourad","tunis","fffff","44");
        cr.save(c1);
        cr.save(c2);
        cr.save(c3);
        cr.save(c4);
        cr.save(c5);
        
    
    }

}

home.html

<!DOCTYPE html>
<html xmlns:th="http//www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1 > Liste des clients de la base </h1>
<div>
<table>
<tr>
<th>ID</th><th>Nom</th><th>Adresse</th><th>Mail</th><th>telephone</th>
</tr>
<tr th:each="c:${list}">
<td th:text="${c.id}"></td>
<td th:text="${c.nom}"></td>
<td th:text="${c.adresse}"></td>
<td th:text="${c.mail}"></td>
<td th:text="${c.telephone}"></td>
</tr>
</table>
</div>
</body>
</html>

截图说明

  • 包结构截图:展示项目核心包层级,包含entities、controller、repository等模块
  • localhost:8080报错截图:页面访问时出现错误,无法正常渲染数据
  • H2数据库截图:H2数据库的clients表中已存在5条插入的测试数据

内容的提问来源于stack exchange,提问作者Bilel Guembri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:46:01