如何检索 JAVA JSP 页面上的结果集?

How to retrieve resultset on JAVA JSP page?

我想显示从控制器传递到 JSP 页面的结果集,我正在使用 Spring 框架。 任何人都知道如何在我的 JSP 页面上显示数据。我不知道如何在 table.

上显示数据

模型/域:

package com.mycompany.domain;

public class Accounts {

private int accNumber;
private String accName;
private int accBalance;

public Accounts(int accNumber, String accName, int accBalance) {

    this.accNumber = accNumber;
    this.accName = accName;
    this.accBalance = accBalance;
}

public int getAccNumber() {
    return accNumber;
}

public String getAccName() {
    return accName;
}

public int getAccBalance() {
    return accBalance;
}

public void setAccNumber(int accNumber) {
    this.accNumber = accNumber;
}

public void setAccName(String accName) {
    this.accName = accName;
}

public void setAccBalance(int accBalance) {
    this.accBalance = accBalance;
}

}

控制器: 从控制器我调用帐户实现:

@Autowired
AccountInterface ai;

@RequestMapping(value = "/listallaccounts")
public String list(@ModelAttribute("account") AccountCommand ac, Model m) {
    ResultSet rs= ai.listAccount();
    
    if (rs != null) {
        m.addAttribute("title", "List");
        m.addAttribute("AccountList",rs);
        return ("listAccount");
    } else {
        m.addAttribute("title", "List");
        m.addAttribute("message", "No Account exist.");
        return "";
    }

}

道: 从 DAO 我从数据库中检索数据到结果集。

AccountImplement()

public ResultSet listAccount() {
    String sql = "SELECT * FROM `bankdb`.`accounts`";
    ResultSet rs = db.select(sql);
    return rs;
}

我的JSP: 在此页面中,我要显示帐户 table.

<table class="table table-bordered">
      <thead>
         <tr>
             <th>Account Number</th>
             <th>Account Name</th>
             <th>Account balance</th>
         </tr>
      </thead>
      <tbody>
      <%
          request.getAttribute("AccountList");
      %>
         <c:forEach items="${AccountList}" var="item">
         <tr>
             <td>${item.AccountNumber}</td>
             <td>${item.AccountName}</td>
             <td>${item.AccountBalance}</td>
         </tr>
         </c:forEach>
   </tbody>

我认为您应该包含一个脚本,然后使用

从控制器请求数据
 <script>
    $.ajax({
    url: "yourhost/listallaccounts",
    type: 'GET',
    data: {data});
    </script>

然后你可以在table

中格式化它

这里有两点需要注意。

  1. request.getAttribute("账户列表");这是不必要的,因为数据在模态属性中但不在请求中。所以你可以删除它。

  2. 您正在将 ResultSet 设置为数据值,但尝试像列表或集合一样进行迭代,这是不正确的。

  3. 不建议将ResultSet放在modal属性中,在controller层迭代ResultSet为List集合,然后将list设置为modal属性

结果集列表 -->

这会起作用。

您可以直接在 jsp

中执行此操作
   <%  
    AccountDAO ad;//intreface
    ad = new AccountDAOImplementation();//repository
    ResultSet rs = ad.ListAllAccount();
    
    while (rs.next()) {
%>
<tr>
    <td><% out.print(rs.getString("accountNumber")); %></td>
    <td><% out.print(rs.getString("accountName")); %></td>
    <td><% out.print(rs.getString("Balance")); %></td>
</tr>
<%
    }

%>