【问题标题】:HTTP error 500 exception occurred processing JSP处理 JSP 时发生 HTTP 错误 500 异常
【发布时间】:2014-04-08 12:35:55
【问题描述】:

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

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

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

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>

【问题讨论】:

  • 检查listC可能为空?

标签: jsp jakarta-ee


【解决方案1】:

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

首先你不能检查对象是否相等:cin=="",对 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:

<%
ArrayList<Client> list;
list = (ArrayList<Client>) request.getAttribute("test");
%>
<c:if test="list != null">
    <span><%=list.get(0).getCinClient() %><span>
</c:if>

【讨论】:

  • jsp 中的 JSTL 为什么要 Scriptlets?
  • 复制粘贴问题:-) 我没有时间重写它。
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 2014-09-11
  • 2013-10-07
  • 1970-01-01
相关资源
最近更新 更多