如何在.JSP文件中显示列表



经过一个小时的扎实研究,我仍然无法做到这一点。

这是我的Servlet代码:

package com.fdm.ProjectWeb.RedirectServlets;
import java.awt.List;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.spi.DirStateFactory.Result;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.jstl.sql.ResultSupport;
import com.fdm.ProjectWeb.Controller.ValidateRegisterInputController;
import com.fdm.ProjectWeb.Model.OraclePullListOfUsers;
import com.fdm.ProjectWeb.Model.OracleUserManagement;
public class VerifyRedirect extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        OraclePullListOfUsers pull = new OraclePullListOfUsers();
        ResultSet rs = pull.unverifiedUsers();
        List list = new List();
    try {
        while (rs.next()){
            list.add(rs.getString(1));
    }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        req.setAttribute("list", list);
        RequestDispatcher rd = req.getRequestDispatcher("./WEB-INF/VerifyUser.jsp");
        rd.forward(req, resp);
    }
}

这是我的JSP代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <title>Verify Users</title>
</head>
<body>
<table>
  <c:forEach items="${list}" var="item">
    <tr>
      <td><c:out value="${item}" /></td>
    </tr>
  </c:forEach>
</table>
    <h2>Please enter the Username of the user you want to verify</h2>
    <form action="loginform" method="POST">
        <label>User To Verify: <input type="text" name="userToVerify" id="userToVerify" /></label><br />
        <input type="submit" value="Submit" name="submit" />
    </form>
</body>

结果集中肯定有数据,就好像while循环中的I system.out.println显示了所有正确的值一样。

我收到了这个错误消息:

javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in &lt;forEach&gt;

任何帮助都将不胜感激!

javax.servlet.jsp.JspTagException:不知道如何迭代<对于每个>

<c:forEach items>未引用可迭代的对象时,会发生此异常。对象应该是IterableMap数组
很明显,您的列表属性指的是不属于上述任何类别的类型。虽然类型实际上是List,但不是java.util.List

检查您的进口声明:

import java.awt.List;   // Here is the fault

应该是:

import java.util.List;

此外,您应该使用泛型类型List,而不是原始类型。更改:

List list = new List();

至:

List<String> list = new List<String>();

此外,您似乎正在doPost()方法中执行预处理任务。不要。doPost()用于请求的后处理。您应该使用doget()方法进行预处理

doPost()中的所有代码移动到doGet()方法。

更改:

List list = new List();

收件人:

List<String> list = new ArrayList<String>();

来自

java.util.List;

尝试如下实例化列表:

List<String> list = new ArrayList<String>();

或者如果它没有帮助,可以将列表提供为数组,例如:

req.setAttribute("list", list.toArray());

相关内容

  • 没有找到相关文章

最新更新