Thymeleaf 不打印对象列表(Spring JPA)
Thymeleaf doesn't print list of objects (Spring JPA)
我有 5 个不同的对象 class Tour with some fields.I 希望我的主页显示这个对象及其字段。
我写了conrtoller:
@Controller
public class MainController {
@Autowired
private TourRepository tourRepository;
@GetMapping("/")
public String mainPage(Model model) {
List<Tour> tourList=tourRepository.findAll();
model.addAttribute("tours",tourList);
return "home/main";
}
@RequestMapping("/main")
public String main() {
return "redirect:/";}
}
和存储库
public interface TourRepository extends JpaRepository<Tour,Integer> {
}
application.properties:
# hibernate configurations
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
# thumeleaf configurations
spring.thymeleaf.mode= HTML
spring.thymeleaf.cache=false
现在我正在尝试使用 Thymeleaf 将变量值传递给页面,
<div>
<table>
<thead>
<tr>
<th>Title</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr th:each ="tour : ${tours}">
<td th:utext="${tour.title}">...</td>
<td th:utext="${tour.price}">...</td>
</tr>
</tbody>
</table>
</div>
但我得到了数据库中第一条记录的五个相同副本。
如何更改 controller\view?
我在数据库中的实体中名为“代码”的主键。注释 @Id
没有将具有不同名称的列作为主键。我明确添加:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "code")
private int id;
我有 5 个不同的对象 class Tour with some fields.I 希望我的主页显示这个对象及其字段。 我写了conrtoller:
@Controller
public class MainController {
@Autowired
private TourRepository tourRepository;
@GetMapping("/")
public String mainPage(Model model) {
List<Tour> tourList=tourRepository.findAll();
model.addAttribute("tours",tourList);
return "home/main";
}
@RequestMapping("/main")
public String main() {
return "redirect:/";}
}
和存储库
public interface TourRepository extends JpaRepository<Tour,Integer> {
}
application.properties:
# hibernate configurations
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
# thumeleaf configurations
spring.thymeleaf.mode= HTML
spring.thymeleaf.cache=false
现在我正在尝试使用 Thymeleaf 将变量值传递给页面,
<div>
<table>
<thead>
<tr>
<th>Title</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr th:each ="tour : ${tours}">
<td th:utext="${tour.title}">...</td>
<td th:utext="${tour.price}">...</td>
</tr>
</tbody>
</table>
</div>
但我得到了数据库中第一条记录的五个相同副本。 如何更改 controller\view?
我在数据库中的实体中名为“代码”的主键。注释 @Id
没有将具有不同名称的列作为主键。我明确添加:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "code")
private int id;