jsp页面报错求教到底错哪了
jsp页面报错求教到底哪里错了
报错提示:HTTP Status 500 - java.lang.NullPointerException
<% List<Message> list1=new ArrayList<Message>();
list1=(List<Message>)request.getAttribute("messagelist");
Message mes=new Message();
int i=0;
if(i<20){
eid=list1.get(i).getemployeeID();
mid=list1.get(i).getmessageID();
i++;
%>
原先用if(i<list1.size())就报错,改成数字20后,在list1.get(i).getemployeeeID();这一行也报错,求改正
//jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.util.*,daylist.*,sservlet.*,dao.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body><%!int size,mid,eid;%>
<% List<Message> list1=new ArrayList<Message>();
list1=(List<Message>)request.getAttribute("messagelist");
Message mes=new Message();
int i=0;
if(i<20){
eid=list1.get(i).getemployeeID();
mid=list1.get(i).getmessageID();
i++;
%>
<dl><dt><a href="GetMessage?messageID=id"><%=mid %></a></dt>
<dd><div align="right">ID:<%=eid%></div></dd>
</dl>
<%} %>
<div align="center"><%Page pages=(Page)request.getAttribute("pages");
Page pa1=(Page)request.getAttribute("pages");%>
<%=pa1.getcurrentPage()%>
<% if(pa1.gethasPrePage()){%>
<a href="GetMessageList?currentPage=1">首页</a>
<a href="GetMessageList?currentPage=-1">上一页</a>
<% }%>
<%if(pa1.gethasNextPage()){%>
<a href="GetMessageList?currentPage=page.currentPage+1">下一页</a>
<a href="GetMessageList?currentPage=page.totalPage">尾页</a>
<%}%>
<br>当前为第<%=pa1.getcurrentPage()%>页,工<%=pa1.gettotalPage()%>页
</div>
</body>
</html>
//servlet
package sservlet;
import java.awt.List;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.MessageDAO;
import dao.MessageDAOFactory;
import daylist.Page;
import daylist.PageUtil;
/**
* Servlet implementation class GetMessageList
*/
@WebServlet("/GetMessageList")
public class GetMessageList extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetMessageList() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
int currentPage=0;
String currentPageStr=request.getParameter("currentPage");
if(currentPageStr==null||"".equals(currentPageStr)){
currentPage=0;
}else{
currentPage=Integer.parseInt(currentPageStr);
}
MessageDAO messageDAO=MessageDAOFactory.getMessageDAOInstance();
Page pages=PageUtil.createPage(5, messageDAO.findAllCount(),currentPage);
List messages=(List) messageDAO.findAllMessage(pages);
request.setAttribute("messagelist",messages);
request.setAttribute("pages", pages);
ServletContext context=getServletContext();
RequestDispatcher dispat=context.getRequestDispatcher("/msgList.jsp");
dispat.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
------解决思路----------------------
List messages=(List) messageDAO.findAllMessage(pages);
/*********************************************************
这里把你messages打印一下,看看数据库里面查到东西没有。。。不然传过去的也是空值,,,
**********************************************************/
request.setAttribute("messagelist",messages);
request.setAttribute("pages", pages);
------解决思路----------------------
list1=(List<Message>)request.getAttribute("messagelist");
获取的list1是null
后台request.setAttribute的时候list可能是null或者页面跳转了多次
------解决思路----------------------
报空指针呀。。。就是因为没有值,遍历就报空指针错
报错提示:HTTP Status 500 - java.lang.NullPointerException
<% List<Message> list1=new ArrayList<Message>();
list1=(List<Message>)request.getAttribute("messagelist");
Message mes=new Message();
int i=0;
if(i<20){
eid=list1.get(i).getemployeeID();
mid=list1.get(i).getmessageID();
i++;
%>
原先用if(i<list1.size())就报错,改成数字20后,在list1.get(i).getemployeeeID();这一行也报错,求改正
//jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.util.*,daylist.*,sservlet.*,dao.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body><%!int size,mid,eid;%>
<% List<Message> list1=new ArrayList<Message>();
list1=(List<Message>)request.getAttribute("messagelist");
Message mes=new Message();
int i=0;
if(i<20){
eid=list1.get(i).getemployeeID();
mid=list1.get(i).getmessageID();
i++;
%>
<dl><dt><a href="GetMessage?messageID=id"><%=mid %></a></dt>
<dd><div align="right">ID:<%=eid%></div></dd>
</dl>
<%} %>
<div align="center"><%Page pages=(Page)request.getAttribute("pages");
Page pa1=(Page)request.getAttribute("pages");%>
<%=pa1.getcurrentPage()%>
<% if(pa1.gethasPrePage()){%>
<a href="GetMessageList?currentPage=1">首页</a>
<a href="GetMessageList?currentPage=-1">上一页</a>
<% }%>
<%if(pa1.gethasNextPage()){%>
<a href="GetMessageList?currentPage=page.currentPage+1">下一页</a>
<a href="GetMessageList?currentPage=page.totalPage">尾页</a>
<%}%>
<br>当前为第<%=pa1.getcurrentPage()%>页,工<%=pa1.gettotalPage()%>页
</div>
</body>
</html>
//servlet
package sservlet;
import java.awt.List;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.MessageDAO;
import dao.MessageDAOFactory;
import daylist.Page;
import daylist.PageUtil;
/**
* Servlet implementation class GetMessageList
*/
@WebServlet("/GetMessageList")
public class GetMessageList extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetMessageList() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
int currentPage=0;
String currentPageStr=request.getParameter("currentPage");
if(currentPageStr==null||"".equals(currentPageStr)){
currentPage=0;
}else{
currentPage=Integer.parseInt(currentPageStr);
}
MessageDAO messageDAO=MessageDAOFactory.getMessageDAOInstance();
Page pages=PageUtil.createPage(5, messageDAO.findAllCount(),currentPage);
List messages=(List) messageDAO.findAllMessage(pages);
request.setAttribute("messagelist",messages);
request.setAttribute("pages", pages);
ServletContext context=getServletContext();
RequestDispatcher dispat=context.getRequestDispatcher("/msgList.jsp");
dispat.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
------解决思路----------------------
List messages=(List) messageDAO.findAllMessage(pages);
/*********************************************************
这里把你messages打印一下,看看数据库里面查到东西没有。。。不然传过去的也是空值,,,
**********************************************************/
request.setAttribute("messagelist",messages);
request.setAttribute("pages", pages);
------解决思路----------------------
list1=(List<Message>)request.getAttribute("messagelist");
获取的list1是null
后台request.setAttribute的时候list可能是null或者页面跳转了多次
------解决思路----------------------
报空指针呀。。。就是因为没有值,遍历就报空指针错