java - 如何使用 JSP、Java Bean 和 Servlet 填充 JSP 表

标签 java jsp servlets

我有一个 JSP 应用程序,我正在尝试使用 JSP 来填充客户的婚礼蛋糕订单表,该表每行一个订单。到目前为止,我采用的方法是将 MySQL 表中的每个订单设置为 Order 对象,然后将所有订单对象添加到 HashMap 中以在 JSP 中引用。

这是我的问题。到目前为止,Order 对象是使用数据库中的数据创建的,并将其放置在 HashMap 中。我唯一的问题是我对如何访问 JSP 中的数据感到困惑。我在 hashmap 上使用 c:forEach 循环,并且不确定如何访问 HashMap 中 Order 对象的属性(例如 firstName 或 dueDate 字段)。我可能选择了一种完全错误的方法,因为我对 JSP 还比较陌生。这是我的代码。

使用填充的 Order 对象设置 HashMap 的类:

public HashMap getOrders() {
    dbm = new DatabaseManager();
    Statement stmt = null;
    String sql = "SELECT * FROM orders";
    HashMap<Integer, Order> orderMap = new HashMap<Integer, Order>();

    dbm.setUrl("jdbc:mysql://localhost:3306/pattycakes");
    dbm.connect();
    try {
        stmt = dbm.getConn().createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        rs.beforeFirst();
        int i = 0;
        while (rs.next()) {
            orderMap.put(i + 1,
                    new Order(rs.getString("first_name"), rs.getString("last_name"), rs.getString("phone"),
                            rs.getString("email"), rs.getString("due_date"), rs.getString("product_type"),
                            rs.getString("comments"), rs.getInt("id")));
            i++;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        dbm.disconnect(stmt, dbm.getConn());
    }
    return orderMap;
}

将其设置为属性的 Servlet:

FormManager fm = new FormManager();
HashMap hm = fm.getOrders();
request.setAttribute("orders", hm);

JSP 尝试填充表:

        <c:forEach var="orders" items="${ orders }">
            <tr>
              <%-- How to get the data from the order objects???? --%>
                <td class="name">
                    <a href="">${ }</a>
                </td>
                <td>${ }</td>
                <td>${ }</td>
                <td>${ }</td>
            </tr>
        </c:forEach>

非常感谢任何帮助。如果我的处理方法不正确,那么有关最佳方法的建议将非常有用。

最佳答案

我们可以在jsp中迭代hashmap,如下<c:forEach var="country" items="${capitalList}"> Country: ${country.key} - Capital: ${country.value} </c:forEach>

关于java - 如何使用 JSP、Java Bean 和 Servlet 填充 JSP 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541856/

相关文章:

javascript - AJAX 调用失败,url 路径是否正确?

html中的Java小程序没有地址栏

java - 如何调用Ajax请求从数据库获取记录并在页面加载时使用servlet显示在jsp上

java - 如何在内部类中访问servlet的方法变量

java - 关于 Servlet 绑定(bind)模式和默认 servlet

java - 具有 3 个条件的字符串格式 : is it possible?

java - 如何在 Firestore 中插入对象数组?

java - 将值从 applet 传递到 jsp

JSP - 退出执行其余代码

java - 包含来自 Servlet 的私有(private) JSP