gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:29:44 26 4
gpt4 key购买 nike

我有一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com