如果我的数组中有项目,for循环执行正常,但如果它是空的并转到else,我得到一个空指针HTTP 500错误...我做错了什么?
<% out.print("<ul>");
if(p.getToppings().length != 0) {
for (int x = 0; x < p.getToppings().length; x++) {
out.print("<li>");
out.print(p.getToppings()[x]);
out.print("<br>");
out.print("</li>");
}
} else {
out.print("No Toppings");
} %>
org.apache.jasper.JasperException:在第18行处理JSP页面/test2DisplayOrder.jsp时发生异常
15:&lt;%model.PizzaOrder p =(model.PizzaOrder)request.getAttribute(&#34; p&#34;); %GT; 16:
Hello
&lt;%out.print(p.getName()); %GT; 17:
答案 0 :(得分:0)
您应该更改以下行:
if(p.getToppings().length != 0)
为:
if(p != null && p.getToppings() != null && p.getToppings().length != 0)
答案 1 :(得分:0)
我必须重新调整我的模型类,以便在计算价格之前测试getToppings()数组是否为null或空?因此第18行的例外。