如何在JSP

时间:2017-09-14 05:05:16

标签: java jsp servlets

我正在使用jsp和servlet开发一个Web应用程序,我希望显示我的数据库中的所有记录以及表中的记录数。

我创建了一个DAO,在其中我执行了正确返回数据的查询,并将其放在servlet中的会话中,其名称为sessaoListaMotoristasTodostotalMotorista

但是当传递从会话中检索到的值并分配变量时,未分配值,被调用的变量为List ListMotoristasInteger 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;
}
%>

1 个答案:

答案 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的列表