Java JSTL:使用外键迭代列表
我的数据库中有两个表。汽车和顾客。在Cars表中,我有一个外键列customer_id。我想做的是在jsp页面的Cars表中显示客户的名称。我可以毫无问题地迭代和展示汽车。但当我想在新专栏中向车主展示汽车时,我不知道该怎么办!我在视图中有两个可用属性:汽车和客户列表 这是控制器类中的方法Java JSTL:使用外键迭代列表,java,jsp,jstl,Java,Jsp,Jstl,我的数据库中有两个表。汽车和顾客。在Cars表中,我有一个外键列customer_id。我想做的是在jsp页面的Cars表中显示客户的名称。我可以毫无问题地迭代和展示汽车。但当我想在新专栏中向车主展示汽车时,我不知道该怎么办!我在视图中有两个可用属性:汽车和客户列表 这是控制器类中的方法 @RequestMapping("/allCars") public String displayAll(Model model) { List<Car> cars = carReposi
@RequestMapping("/allCars")
public String displayAll(Model model) {
List<Car> cars = carRepository.findAll();
List<Customer> customers = customerRepository.findAll();
model.addAttribute("cars", cars);
model.addAttribute("customers", customers);
return "/car/display_all";
}
最好使用像Hibernate或JPA这样的ORM框架来轻松完成这项工作。我建议您从Servlet或其他基于服务器的技术(如Spring@Controller或JSF managed bean)获取适当的数据,将数据添加为请求属性,并在视图中自由访问它。在这种情况下,您使用的标签似乎不适用于现实世界的应用程序。我使用的是Spring,@Controller,但不知道如何解决此问题:@Luiggi Mendoza,我不使用slq数据源,如果您指的是slq数据源的话。一切都是基于注释的。@Masud我正在使用JPA,但仍然不知道如何解决我的问题:@oxyt这是你的问题。如果一辆车有一个客户,你应该有一个从一辆车到另一个客户的多人协会。然后可以使用car.getCustomer.getName,或者在${car.customer.name}视图中使用。
@RequestMapping("/allCars")
public String displayAll(Model model) {
List<Car> cars = carRepository.findAll();
List<Customer> customers = customerRepository.findAll();
model.addAttribute("cars", cars);
model.addAttribute("customers", customers);
return "/car/display_all";
}