我正在開發一個使用jsp和servlet的web應用程序,我想從我的數據庫中顯示所有記錄以及表中的記錄數。如何解決JSP中的NullPointerException
我創建了一個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;
}
%>
在這行代碼了request.setAttribute(「sessaoListaMotoristasTodos」,dao2)的;您將dao2設置爲值,但在jsp中以request.getAttribute(「sessaoListaMotoristasTodos」)的形式檢索它;它不會返回給你一個列表。它會返回dao2,從這個u需要獲取列表,否則其他選項設置如下request.setAttribute(「sessaoListaMotoristasTodos」,listaMotoristas2);而在jsp中,您可以像檢索列表一樣檢索列表 –
另外,您並未在會話作用域中設置變量,而是將它們設置爲請求範圍。但在你的問題,你說你設置變量在會話範圍內,這是錯誤的 –
Avinash Readdy當我對變量的請求範圍變量變量沒有收到它的值爲空 – Felipe