发生Java标准标记库(JSTL)包不存在错误

时间:2018-06-04 12:11:50

标签: java jsp jstl

之前我运行过这段代码并且它有效,但现在它显示了我在下面写的错误。该问题与java JSTL库的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

为什么找不到包裹?

3 个答案:

答案 0 :(得分:1)

看起来你错过了JSTL的.jar文件

尝试从这里下载:

https://mvnrepository.com/artifact/javax.servlet/jstl/1.2

然后将它添加到WEB-INF内的lib文件夹中(或者保存其他.jar文件的位置,就像你在评论中提到的mysql驱动程序一样)

答案 1 :(得分:1)

我改变了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>");

                }
            %>

答案 2 :(得分:0)

你开了一些标签。你有这个简化的结构:

<c:forEach>
    <a>
        <div>
            <div>
                <img/>
                <div>
                    <h1></h1>
                    <p></p>                                        
                </div>
            </div>
        </a>                                    
    </div>   
</c:forEach>

但结束a代码和最后一个结束div代码的顺序错误,请将它们翻转。