在胸腺叶模板中发布OneToMany数据库记录

2022-02-27 00:00:00 spring java thymeleaf

我有两个类-联系人和电话,类联系人有一组电话。 这是矿井控制器

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class ContactFormController {

@Autowired
ContactRepository contactRepo;

@Autowired
PhoneRepository phoneRepo;

@RequestMapping(value = "/data", method = RequestMethod.GET)
public String showAll(Model model) {
    model.addAttribute("contacts", contactRepo.findAll());
    model.addAttribute("phones",  phoneRepo.findAll());
    return "dataresult";
}

我想通过胸腺叶模板显示我的数据库记录,下面是我的html代码:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Dane</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h3>Dane</h3>
<p th:each="contact : ${contacts}">
    <h4>ID:</h4>
    <div th:text="${contact.id}"></div>
    <h4>Name:</h4>
    <div th:text="${contact.firstName}"></div>
    <li th:each="item : ${contact.phones}" th:text="${item}">Item description   here...</li>
    <div>---------</div>
</p>
</body>
</html>
以下是我得到的结果-http://i.imgur.com/pPIA5ma.png 电话类-http://pastebin.com/L6Sqsp9q Contact类有一个 @OneToMany(FETCH=FetchType.LAZY) @JoinColumn(name="contactId") 私人固定电话;

如何使我的控制器显示联系人ID、姓名和电话号码集?


解决方案

这里打印的是解释输出的Phone本身。您需要做的是访问itemnumber字段。例如,

th:each="item : ${contact.phones}" th:text="${item.number}"

th:each="item : ${contact.phones}" th:text="${item.getNumber()}"

相关文章