【问题标题】:ArrayList to update HTML TableArrayList 更新 HTML 表
【发布时间】:2024-05-03 10:50:02
【问题描述】:

晚上好, 我必须使用由数据库数据组成的 ArrayList 的数据来更新我已经存在的表。 List 是这样实现的:

ResultSet rs1 = st.executeQuery("SELECT * FROM Termine");
List<String[]> list = new ArrayList<>();
while(rs1.next()){
    String veranName = rs1.getString(1);
    String terminid = rs1.getString(2); 
    list.add(new String[]{veranName, terminid});
    }

现在我不知道如何遍历 Javascript 或 HTML 中的列表并使用这些元素更新我的 HTML 表。

我想用这个:

ResultSet rs1 = st.executeQuery("SELECT * FROM Termine");
List<String[]> list = new ArrayList<>();
while(rs1.next()){
    String veranName = rs1.getString(1);
    String terminid = rs1.getString(2); 
    updateTable(veranName,terminid);
    }

updateTable(vname, vid){document.getElementById(vid).value=vname;} 但这不起作用,因为 DOC 操作在 Javascript 中并且没有找到(至少我认为这就是原因)。该代码属于一个 JSP Web 应用程序,我必须在其中编写类似于周历的代码,它显示为一个 html 表格。

有人对我的问题有解决方案吗? 未来的感谢:)

【问题讨论】:

  • 这里的上下文是什么——您是从 servlet 或 JSP 运行查询还是在哪里运行?您不能直接从 Java 代码调用 JavaScript (document.getElementById)。
  • @MickMnemonic 我编辑了我的帖子。我知道我不能从 Java 代码调用 Javascript,但我试图调用一个函数,该函数在 JSP 页面的 部分中定义,但也无法正常工作。所以我真的不知道如何用java代码编辑已经存在的html表格单元格。

标签: javascript java html jsp arraylist


【解决方案1】:

根据您使用的技术,从数据库中获取行的 Java 代码在 ActionController 类中执行。如果您想在 JSP 中使用它,您必须将列表添加到会话属性中:

List<String[]> appointments = new ArrayList<>();
// ... fill the list
request.setAttribute("termine", appointments);

在 JSP 中,您从请求属性中检索列表并可以对其进行迭代,例如:

<% 
List<String[]> appointments = (List<String[]>) request.getAttribute("termine");
for (String[] appointment : appointments) {
%>
  <div>veranName: <%= appointment[0] %></div>
  <div>terminid: <%= appointment[1] %></div>
<%
}
%>

【讨论】: