jsp新手,小问题求救下
asunx 2010-10-02 08:43:01 <%
ArrayList list=(ArrayList)session.getAttribute("searchList");
for(int i=0; i<list.size(); i++){
Book book=(Book)list.get(i);
%>
<tr>
<td><%=book.getBookId() %></td>
<td><%=book.getBookName() %></td>
<td><%=book.getBookAuthor() %></td>
<td><%=book.getBookPress() %></td>
<td><%=book.getBookPrice() %></td>
</tr>
<%
}
session.removeAttribute("searchList");
%>
以上的代码有错误吗?运行时老是报错。删掉以上代码运行时,就不会报错了。所报错误如下:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
怀疑是不是(ArrayList)session.getAttribute("searchList"); 这里,searchList不存在的原故。
报错是在载入此页面时,就报了异常。看了下,在这之前,没有设置过session的searchList属性。
我打开了调试,发现运行ArrayList list=(ArrayList)session.getAttribute("searchList");后。list是null.
原意也是这样,第一次载入这个页面时,list反回的是空,让其不执行这段代码。当点击搜索后,把搜索后的结果保存在searchList里,然后载入此页面时,就可以显示搜索结果。