java - 如何使用 servlet 将数组列表中的数据填充到 html 中?

标签 java mysql servlets

我正在尝试使用数组列表中的数据填充 html 数据,但遇到了一些困难。我已经加载了数据并将其存储在我的数组列表中,但是当启动我的程序时,表是空的。有人可以帮我解决这个问题吗?我已经尝试用谷歌搜索我的问题,但我似乎找不到答案。

这是我加载数据并将其填充到数组列表中的位置

import java.io.*;
import java.util.List;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;

@WebServlet("/registered-class")
public class myRegist extends HttpServlet{

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

        getInfo registerStu = new findInfo();

        String ssn = request.getParameter("ssn");
        String fullName = registerStu.getFullName(ssn);
        String phone = registerStu.getPhone(ssn);

        List<StudentClass> classList = registerStu.loadClass(ssn);


        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        String docType =
                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
        "Transitional//EN\">\n";

        StudentClass stu = new StudentClass();

        request.setAttribute("message", classList);
         request.getRequestDispatcher("/table.jsp").forward(request,response);


        //ptints out info about course
         //out.println(classList.get(0));

    /*StudentInfo info = new StudentInfo(ssn, fullName, phone);

        HttpSession session = request.getSession();
        session.setAttribute("student", info);

        String address = null;
         if (fullName == null) {
              address = "/myRegist.jsp";
            } 
         else if (fullName != null) {
              address = "/myRegist.jsp";
            }
         RequestDispatcher dispatcher =
                  request.getRequestDispatcher(address);
                dispatcher.forward(request, response);*/
    }

}

我的 html 表格

<html>
    <body>
    <head>
    <title>
    View Books
    </title>
    </head>
    <body>
    <table border=2>
    <tr>
        <th>Book ID</th>
        <th>Title</th>
        <th>Author</th>
        <th>No. of copies  AVAILABLE</th>
        <th>Number of favourites</th>
    </tr>


    <tr>
        <td><%=b.bookID%></td>
        <td><%=b.bookTitle%></td>
        <td><%=b.bookAuthor%></td>
        <td><%=b.bookCopies%></td>
        <td><%=b.bookFavs%></td>    
    </tr>
    <%
        }
    %>
    </table>

    </body>
</html>

最佳答案

尽管 @olivakyle 的答案是正确的,但我更喜欢使用 jSTL 标签而不是 scriplet:它可以使 JSP 不那么困惑:

<!DOCTYPE html>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
    <body>
    <head>
    <title>
    View Books
    </title>
    </head>
    <body>
    <table border=2>
    <tr>
        <th>Student ID</th>
        <th>Name</th>
    </tr>

    <c:forEach var="stu" items="${message}">
    <tr>
        <td>${stu.id}</td>
        <td>${stu.name}</td>
    </tr>
    </c:forEach>
    </table>

    </body>
</html>

关于java - 如何使用 servlet 将数组列表中的数据填充到 html 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59363812/

相关文章:

java - 如何在 Java HTTP Servlet session 结束时运行任意代码?

java - Servlet 给出错误 java.lang.NoClassDefFoundError

java - 在 ruby​​ 中通过 "DES-EDE3-CBC"加密并在 Java 中解密

java - 使用 Java 在 Mac 上以编程方式发送电子邮件(通过 Mac 邮件客户端)

mysql - 你会认为这是一个自然的主键吗?

php - 根据下拉选择使用 mysql 值自动填充表单字段

java - 将JPanel绘制成JPanel

php - 在 codeigniter 中从数据库检索结果

java - 如何解决 "Unhandled exception type ClassNotFoundException"和 "Vector is a raw type"错误?

java - war servlet tomcat找不到