在JSP中我有简单的foreach,它应该显示来自两个表的信息。 第一桌"公司" as" country"参数将country的id保存为另一个表的外键" Countries"。
如何在此foreach中显示国家/地区名称,该名称保留在"公司"作为国家的身份?
<c:forEach items="${companies}" var="company">
<c:url var="edit" value="/edit/${company.id}" />
<c:url var="remove" value="/remove/${company.id}" />
<tr>
<td><c:out value="${company.name}" /></td>
<td><c:out value="${company.country}" /></td> // In this line
<td><c:out value="${company.address}" /></td>
<td><c:out value="${company.phone}" /></td>
<td><c:out value="${company.market_cap}" /></td>
<td valign = "top"><a href="${edit}">Edit</a></td>
<td valign = "top"><a href="${remove}">Remove</a></td>
</tr>
</c:forEach>
表:
CREATE TABLE IF NOT EXISTS Companies (id int auto_increment , name varchar(255), country int, address varchar(255), phone varchar(255)primary key(id), foreign key (country) references public.country(id_country));
CREATE TABLE IF NOT EXISTS Country (id_country int auto_increment , name varchar(255), primary key(id_country));
答案 0 :(得分:0)
您的Company
班级应该有Country
类型的字段,而不是只包含国家/地区ID的字段。
从数据库中获取数据的代码应该获取公司信息以及相关的国家/地区信息。
像
这样的东西select company.name, company.address, ... country.id, country.name
from company
inner join country on company.country_id = country.id`