Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从Servlet打印JSP中的ArrayList_Java_Jsp_Servlets - Fatal编程技术网

Java 无法从Servlet打印JSP中的ArrayList

Java 无法从Servlet打印JSP中的ArrayList,java,jsp,servlets,Java,Jsp,Servlets,因此,我在一个Javaservlet中创建了这个简单的列表,并希望在JSP页面中显示它。Servlet代码: public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ ArrayList<String> myList = new ArrayList<String>();

因此,我在一个Javaservlet中创建了这个简单的列表,并希望在JSP页面中显示它。Servlet代码:

public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{


            ArrayList<String> myList = new ArrayList<String>();

            myList.add("cat");
            myList.add("dog");
            myList.add("frog");
            request.setAttribute("list", myList);
            String nextJSP = "/index.jsp";
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
            dispatcher.forward(request,response);
}
public void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
ArrayList myList=新的ArrayList();
myList.添加(“cat”);
我的列表。添加(“狗”);
myList.添加(“青蛙”);
setAttribute(“列表”,myList);
字符串nextJSP=“/index.jsp”;
RequestDispatcher dispatcher=getServletContext().getRequestDispatcher(nextJSP);
转发(请求、响应);
}
}

但是,它不会在以下JSP文件中打印:

<%@page import="java.io.*" %>
<%@page import="java.net.*" %>
<%@page import="java.util.*" %>
<%@page import="java.util.List" %> 
<%@page import="java.util.ArrayList" %>
<%@page language="java" import="myPackage.*" %>

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<% List<String> myList = (ArrayList<String>) 
 request.getAttribute("list"); %>
<% out.println(myList); %>


 </body>

 </html>

我的第一个标题
我的第一段


任何帮助都将不胜感激

好的,您有一条HTTP 500错误消息,我怀疑它来自您代码的以下部分:

<% out.println(myList); %>

请记住,此处使用的out不是System.out,并且其行为方式不同。改为尝试(将上面提到的行替换为以下内容):


您可以使用核心标记foreach作为

<c:forEach var="list" items="${YourList}">
 <c:out value="${list}"/> 
</c:forEach>


HTTP 500
错误来自以下行:

<% List<String> myList = (ArrayList<String>) 
 request.getAttribute("list"); %>
如果不想使用
JSTL
,可以使用java代码来打印:

 <% for(int i=0;i<myList.size();i++){
   out.println(myList.get(i));
 } %>

什么不起作用?你收到错误消息了吗?我收到一条HTTP错误500消息,我不知道为什么这不起作用。好的,我已经回答了这个问题:让我知道它是否对YouTunks起作用,尝试过,但仍然没有成功。我相信这与我的servlet有关,如果jsp映射到web xml中,它将无法工作file@kieron在我发布我的答案之前,我已经在我这边进行了测试,它运行良好,所以您的项目配置一定有问题
<c:forEach var="li" items="${list}">
 <c:out value="${li}"/> 
</c:forEach>
 <% for(int i=0;i<myList.size();i++){
   out.println(myList.get(i));
 } %>