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里,然后载入此页面时,就可以显示搜索结果。
...全文
44 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
asunx 2010-10-02
谢谢了
回复
dingling136 2010-10-02
怎么获取积分啊,着急下载东西啊
回复
yumyy 2010-10-02
你的空指针是list.size()报的,在循环前加判断list!=null
回复
yumyy 2010-10-02
你的空指针是list.size()报的,在循环前加判断list!=null
回复
asunx 2010-10-02
解决了。谢谢了。
在载入之前,先设置了searchList.
在载入之前的servlet类里。加入了
java.util.ArrayList list = new java.util.ArrayList();
request.getSession().setAttribute("searchList",list);
果然好了,谢谢了。不知道还有没有更好的方法。或者,我上面加入的语句是否有Bug
回复
asunx 2010-10-02
解决了。谢谢了。
在载入之前,先设置了searchList.
回复
asunx 2010-10-02
我的原意是需要,第一次载入此jsp页面时,ArrayList list=(ArrayList)session.getAttribute("searchList");
这一句执行后,list.size()就应该为0.从而不会执行下面的代码。进行搜索后,搜索结果才附给searchList,第二次载入时,才让其执行。
回复
yumyy 2010-10-02
在之前用
session.setAttribute("searchList",ArrayList对象);
把“searchList”赋值!
回复
asunx 2010-10-02
那要怎么改呀?
回复
DryKillLogic 2010-10-02
对啊,你的session中的属性是空,当然就会报空指针异常了
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-02 08:43
社区公告
暂无公告