我尝试从Java标准标签库中实现for循环,如下所示。
<c:forEach begin="0" end="${car.totalNumberOfCars - 1}" >
<a class="car-link" href="model.jsp?id=${car.cars[0].carId}" id="${car.cars[0].carId}" >
<div class="col-sm-6 col-md-3">
<div class="thumbnail parts">
<img src="${car.cars[0].carImg}" alt="..." height="300"/>
<div class="caption">
<h1>${car.cars[0].carName}</h1>
<p> ${car.cars[0].carDesc}</p>
</div>
</div>
</a>
</div>
</c:forEach>
然而,我在控制台得到以下错误信息。
error: package org.apache.taglibs.standard.tag.rt.core does not exist
看来你缺少JSTL的.jar文件。
试着从这里下载。
https:/mvnrepository.comartifactjavax.servletjstl1.2。
然后把它添加到你的WEB-INF的lib文件夹中(或者你保存其他.jar文件的地方,比如你在评论中提到的mysql驱动)。
你把一些标签换了。你有这个简化的结构。
<c:forEach>
<a>
<div>
<div>
<img/>
<div>
<h1></h1>
<p></p>
</div>
</div>
</a>
</div>
</c:forEach>
但结尾处... a
标签和最后一个结束语 div
标签的顺序不对,把它们翻过来。
我改了Javabean构造车,但Jonathan的答案虽然是正确的。
<% car.setCars();
for (int i = 0; i < car.getTotalNumberOfCars(); i++) {
out.println("<a class=\"car-link\" href=\"model.jsp?id="+ car.cars[i].getCarId()+"\" id"+ "=\"" +car.cars[0].getCarId() + "\">");
out.println("<div class=\"col-sm-6 col-md-3\"> ");
out.println("<div class=\"thumbnail parts\">");
out.println("<img src=\""+ car.getCars()[i].getCarImg()+ "\" alt=\"...\""+ " height=\"300\">");
out.println("<div class=\"caption\"");
out.println("<h1>"+car.getCars()[i].getCarName()+"</h1>");
out.println("<p>"+car.getCars()[i].getCarDesc()+"</p>");
out.println("</div>");
out.println("</div>");
out.println("</a>");
out.println("</div>");
}
%>