当前位置: 首页 > 知识库问答 >
问题:

将 arrayList 从 servlet 转发到 JSP 时出现空点异常

东方森
2023-03-14

我已经声明了数组列表,并在servlet中填充了它,我已经在servlet中打印了它,它运行得很好,但是当我转发到JSP时,我得到了下一个空指针异常:

java.lang.NullPointerException: 无法调用 “java.util.ArrayList.iterator()” 因为 “miArray2” 为 null

-Servlet代码:

@WebServlet({"/Preguntas","/"})
public class ListarPreguntas extends HttpServlet {

    private PreguntasDao pd = new PreguntasDao();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        List<Preguntas> lista = pd.listado();
        ArrayList<String> lista2 = new ArrayList<>();
        lista2.add("Cadena1");
        lista2.add("Cadena2");
        req.setAttribute("miArray",lista2);
        req.getRequestDispatcher("/index.jsp").forward(req,resp);

    }
}

索引.jsp代码:

<%@page import="java.sql.*,java.util.*,java.io.*,com.espina.adminPanel.models.Preguntas"%>
   <% ArrayList<String> miArray2 = (ArrayList<String>) request.getAttribute("miArray"); %>

<!DOCTYPE html>
<html lang="en">
<head>
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>


    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
    <link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css">
</head>
<body>

<% for(String p:  miArray2){
   out.println(p);
} %>

</body>
</html>

共有1个答案

江鹏
2023-03-14

在 Servlet 中使用 “miArray” 作为请求属性名称,但在 JSP 中使用 “miArray2”。

 类似资料:
  • 我正在尝试将包含object的ArrayList从servlet传递到JSP。但是 Servlet文件: JSP文件:

  • 我有一个小应用程序(HTML表单、servlet作为控制器和jsp文件),我试图弄清楚为什么我不能将请求从servlet转发到jsp文件。 问题是从html提交后,显示“HTTP状态404” null 谢谢! 项目层次结构:http://s23.postimg.org/kgt7r7lwb/capture.jpg main.html: 更新:问题可能出在Controller.java。当我尝试下面的

  • viewServlet.java: 我的目标是将'viewservlet.java'中的html代码编写为'result.jsp'中的纯html代码。 我所期望的是,如果我用jsp编写纯html代码,那么所有的记录都将从“MySQL”中检索,将显示在viewservlet.java中。如果我想要编辑,那么删除将发生在“viewservlet.java”中 我尝试了Request.GetAttrib

  • 我正在做一个简单的表单验证。我无法转发到jsp页面。请参阅下面的代码。行B和行C工作正常,但行A产生错误 行B和行C成功地转到请求的页面,但行A产生此错误

  • html或jsp向servlet发送值的唯一方式似乎是通过表单,我尝试的方法是将其作为隐藏参数传递,如下所示: 但是在我向其提交此表单的servlet中,我得到一个编译错误“String conly be converty to list”,用于以下内容: 只需先将参数转换为对象类型,然后再将其转换为列表,如下所示,就会产生相同的异常,但这一次是运行时异常: 是否有任何方法将列表传递给servle