我正在使用jsp和servlet开发一个Web应用程序,我希望显示我的数据库中的所有记录以及表中的记录数。
我创建了一个DAO,在其中我执行了正确返回数据的查询,并将其放在servlet中的会话中,其名称为sessaoListaMotoristasTodos
和totalMotorista
。
但是当传递从会话中检索到的值并分配变量时,未分配值,被调用的变量为List ListMotoristas
和Integer totalRegistros
给出 java.lang .NullPointerException
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
MotoristasDAO dao= new MotoristasDAO();
MotoristasDAO dao2= new MotoristasDAO();
String pesquisa=request.getParameter("pesquisa");
try {
if(pesquisa==null){
pesquisa="";
}
Integer totalMotorista=dao.totalRegistros(pesquisa);
request.setAttribute("totalMotoristas", totalMotorista);
List listaMotoristas2=dao2.mostrarMotoristas();
request.setAttribute("sessaoListaMotoristasTodos", listaMotoristas2);
RequestDispatcher rd= request.getRequestDispatcher("/listaMotoristas2.jsp");
rd.forward(request, response);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro na servelet"+e);
}
}
JSP:
<%
List listaMotoristas=(List) request.getAttribute("sessaoListaMotoristasTodos");
Integer totalRegistros= (Integer) request.getAttribute("totalMotorista");
int totalPaginas=totalRegistros/limite;
if(totalRegistros%limite!=0){
totalPaginas++;
}else{
totalPaginas=0;
}
%>
答案 0 :(得分:0)
MotoristasDAO dao2= new MotoristasDAO();
List listaMotoristas2=dao2.mostrarMotoristas();
根据您的代码,您正在执行此操作
request.setAttribute("sessaoListaMotoristasTodos", dao2);
但你应该这样做
request.setAttribute("sessaoListaMotoristasTodos", listaMotoristas2);
或者
request.setAttribute("sessaoListaMotoristasTodos", dao2.mostrarMotoristas());
您应该在请求中设置列表&#34; listaMotoristas2&#34; ,而不是&#34; dao2&#34;
现在在jsp中你的代码如下
List listaMotoristas=(List) request.getAttribute("sessaoListaMotoristasTodos");
这不会返回它将返回dao2的列表