[英]How to access a variable of two class in JSP loop
我有两节课:
public Car
Integer number;
String name;
public Parking
Integer parkingNumber;
String address;
我向我的JSP发送了一份停车清单和一辆汽车清单
List<Parking> parkingList= new ArrayList<Parking>();
List<Car> carList= new ArrayList<Car>();
但充满价值(对于示例而言,它们并不重要)
Model.addAttribute("parkingList", parkingList);
Model.addAttribute("carList", carList);`
我如何在循环(foreach)内访问汽车->汽车名称,其中汽车->编号=定义的停车位->停车场编号(例如,假设为5)?
<c:forEach items="${parkingList}" var="park" varStatus="status">
<p> $carList[park.parkingNumber=5].name</p>
</c:forEach>
这是正确的吗? 不幸的是,我不能使用另一个Foreach,因为car.name值只能在页面中写入一次。
您代码中的下面一行似乎不正确
<p> $car[park.parkingNumber=5].name</p>
因为您要在模型中设置以下值
Model.addAttribute("parkingList", parkingList);
Model.addAttribute("car", car);
在模型中放置单个Car对象的位置,尝试像数组$car[park.parkingNumber=5].name
一样访问它
您可以直接说出car.name
尝试这个,
<c:forEach items="${parkingList}" var="park" varStatus="parkStatus">
<c:forEach items="${carList}" var="car" varStatus="carStatus">
<c:if test="car.number eq park.parkingNumber">
<p><c:out value="car.name" /></p>
</c:if>
</c:forEach>
</c:forEach>
要么
如果您不希望在服务器端使用多个foreach
循环,则可以在Parking
类中使用Car
类,例如,
public Parking
Integer parkingNumber;
String address;
List<Car> carList = new ArrayList<>();
并将Car
的列表放在Parking
对象中,其中所有汽车的编号与parkingNumber相同。
for(Parking parking : parkingList) {
for(Car car : carList) {
if (car.getNumber() == parking.getParkingNumber()) {
parking.getCarList().add(car);
}
}
}
然后,您只需要迭代一次,您将获得所有具有相同停车位的汽车。
<c:forEach items="${parkingList}" var="park" varStatus="parkStatus">
<c:forEach items="${park.carList}" var="car" varStatus="carStatus">
<p><c:out value="car.name" /></p>
</c:forEach>
</c:forEach>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.