处理JSP时发生HTTP错误500异常

处理JSP时发生HTTP错误500异常,jsp,jakarta-ee,Jsp,Jakarta Ee,我是Java EE新手,从JSP页面获取一些参数: 在JSP文件中,我有以下代码: <% ArrayList<Client> list; list = (ArrayList<Client>) request.getAttribute("test"); %> <span><%=list.get(0).getCinClient() %><span> 这就是错误: Etat HTTP 500-在

我是Java EE新手,从JSP页面获取一些参数:

在JSP文件中,我有以下代码:

<%
    ArrayList<Client> list;
    list = (ArrayList<Client>) request.getAttribute("test");

    %>
    <span><%=list.get(0).getCinClient() %><span>
这就是错误:

Etat HTTP 500-在第31行处理JSP页面/chercherClient.JSP时发生异常

31:         <span><%=list.get(0).getCinClient() %><span>

错误500表示存在内部服务器错误。我打赌您会在应用程序服务器日志中找到NullPointerException

首先,您不能检查对象是否相等:cin==,请使用test检查null和equals。第二,您必须验证jsp中的列表不为空

String cin = req.getParameter("cin");
String nom = req.getParameter("nom");
if ((cin == null || cin.isEmpty()) && (nom == null || nom.isEmpty())) {
     listC = clientService.chercherTousLesClients();
}

req.setAttribute( "test", listC);
this.getServletContext().getRequestDispatcher( "/chercherClient.jsp").forward( req, resp);
jsp:


检查listC是否为空?为什么在jsp中使用JSTL时使用Scriptlet?复制粘贴问题:-我没有时间重写它。
String cin = req.getParameter("cin");
String nom = req.getParameter("nom");
if ((cin == null || cin.isEmpty()) && (nom == null || nom.isEmpty())) {
     listC = clientService.chercherTousLesClients();
}

req.setAttribute( "test", listC);
this.getServletContext().getRequestDispatcher( "/chercherClient.jsp").forward( req, resp);
<%
ArrayList<Client> list;
list = (ArrayList<Client>) request.getAttribute("test");
%>
<c:if test="list != null">
    <span><%=list.get(0).getCinClient() %><span>
</c:if>