新手求教~将servlet从数据库中读取到的数据在JSP中输出

zhumulang 学生  2015-07-10 03:52:19
传值的时候遇到错误。
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.view.regist_005fclass_jsp._jspService(regist_005fclass_jsp.java:111)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:745)


servlet中传值。

if ("toTeacherList".equalsIgnoreCase(operName)) {
List<UserInfo> List_teacher = infoDao.getTeacherInfo();
for(int i=0;i<List_teacher.size();i++){
System.out.println(List_teacher.get(i));
}
request.setAttribute("List_teacher", List_teacher);
request.getRequestDispatcher("/view/regist_class.jsp").forward(request, response);


在JSP中接收。

<%
List<UserInfo> teacherList = (List<UserInfo>)request.getAttribute("List_teacher");
%>
<select name="teacher">
<%
for (UserInfo info : teacherList) {
%>
<option value="<%=info.getUsername()%>"><%=info.getUsername()%></option>
<%
}
%>
</select>



贴出涉及到的代码。debug发现List_teacher并不为空,能够正常取值。觉得可能传值的时候出错了。
查找相关帖子和网页,试过了把值放在Session中,也还是一样出错。
什么原因还请各位不吝赐教,先谢谢了。
...全文
371 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
csdn2014517 2015-07-13
不知道楼主解决没,问题估计就是list没传过来或者list里面有空值
回复
qqw6789567 2015-07-13
跳转到JSP页面报空的话,就是传值的问题了,接收值得时候判断一下接收到的是是否为空,就像这样 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <jsp:useBean id="goodsInfo" class="com.chinaelink.trade.ti_goods.Ti_goodsInfo" scope="page" /> <% String info_id=request.getParameter("info_id"); if(info_id!=null&&!"".equals(info_id)){ List list =goodsInfo.getListByPk(info_id); if(list!=null&&list.size()>0){ out.print(((Hashtable)list.get(0)).get("stock_num").toString()); } } %> 另外
引用 5 楼 Mark_bug_com 的回复:
楼主可以用一个办法找到哪块错了 ,进入tomcat中 找到 work文件目录 找到Catalina目录继续到就能看到对应的regist_005fclass_jsp.java文件了 ,然后找到对应的错误行数111,看看哪块错了
5楼说的这个没用过啊,一般报这个错根本没有这个页面,请指教下啊!
回复
楼主可以用一个办法找到哪块错了 ,进入tomcat中 找到 work文件目录 找到Catalina目录继续到就能看到对应的regist_005fclass_jsp.java文件了 ,然后找到对应的错误行数111,看看哪块错了
回复
王子文龙 2015-07-13
那可以看看List中的对象是不是某个为null,你后台不是有打印么,看看
回复
乱世丶桃花 2015-07-10
把jsp中的代码注释了,先加: <% List<UserInfo> teacherList = (List<UserInfo>)request.getAttribute("List_teacher"); if(teacherList == null){ %> 集合为空 <%}else{%> <%=teacherList .size()%> <%}%> 看看有值没
回复
zhumulang 2015-07-10
引用 1 楼 b1250372262 的回复:
你可以现在页面输出list.size 看看 list 传到页面了没有
现在的问题是页面出不来,每次要跳到JSP页面时就出现NullPointerException错误。 如果把JSP中的Java代码全注释掉的话,页面能正常跳转。
回复
HelloBarreat 2015-07-10
你可以现在页面输出list.size 看看 list 传到页面了没有
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-07-10 03:52
社区公告
暂无公告