对于登录用户始终可见的代码/设计事物的最佳方式是什么,例如当前购物车条目使用Spring,Hibernate和JSP进行商店应用程序封锁? 特别是从数据库传递数据并将其呈现给用户的最佳方法是什么?目前我只知道如何为每个页面传递单个专用数据,如产品列表页面中的产品:
@GetMapping(value = "/productList")
public String productList(Model model) {
System.out.println("Requested productList");
model.addAttribute("products", productService.list());
return "productList";
}
但我还希望在该页面上显示另一个“视图”,其中包含有关当前购物车条目的数据,例如用户登录时的数量及其名称/价格。您是否始终必须在每个请求中检查它并添加'购物车条目的对象到ModelAndView实例,如:
@GetMapping(value = "/productList")
public String productList(Model model) {
System.out.println("Requested productList");
// Check if should add CartEntries data
model.addAttribute("cartEntries", cartService.list());
model.addAttribute("products", productService.list());
return "productList";
}
答案 0 :(得分:0)
最有效的方法之一是在Session scoped bean中存储经常需要的数据。例如,您的用户将几个可以显示为List<Product> productList
的项目添加到购物车。这种方式可以帮助您增加数据库查询和应用程序响应时间。但是如果你需要传递可以在请求之间更改的数据,你应该在数据库中存储一些ID并在每个请求中获取实际数据。