【问题标题】:Fetching value from servlet and showing it in table in JSP [duplicate]从 servlet 获取值并将其显示在 JSP 的表中 [重复]
【发布时间】:2015-11-02 07:13:01
【问题描述】:

我正在尝试通过 servlet 将值从 mysql 表显示到 jsp 表,我已经完成了以下操作 在 BookSaleAuctionServlet 中

con = DriverManager.getConnection("jdbc:mysql://localhost/logins", "root", "");
    try {
                ArrayList<String> arr = new ArrayList<String>();
                Statement stmt = con.createStatement();
                ResultSet rst = stmt.executeQuery
                        ("SELECT m.id,m.username,m.address,m.email,m.contact FROM members m");
                request.setAttribute("memberList", rst);
              request.getRequestDispatcher("MemberDetail.jsp").forward(request, response);

在 MemberDetail.jsp 中

<p>---------${memberList}</p>
<table border="1">
  <thead>
  <tr>
    <th>Name</th>
    <th>Address</th>
    <th>Contact</th>
    <th>Email</th>
    <th>Action</th>
  </tr>
  </thead>
  <tbody>
  <c:forEach var="row" items="${memberList}">

      <tr>
    <td><c:out value="${row.id}"/> </td>
    <td><c:out value="${row}"></c:out> </td>
    <td><c:out value="${row[0]}"></c:out> </td>
    <td></td>
    <td><a href="MemberDetailUpdate.jsp" name="Edit">Edit</a> </td>
  </tr>
</c:forEach>
  </tbody>
</table>

现在我无法获取表中的值,来自${memberList} 的值是com.mysql.jdbc.JDBC4ResultSet@166d6d3 我不知道如何获取价值,请帮助

【问题讨论】:

  • 你应该传递列表而不是结果集
  • 我希望这个链接能工作stackoverflow.com/questions/384189/…
  • 谢谢,但我更改了整体代码并从 jsp 执行
  • 然后添加 while (resultSet.next()) {} 并执行 foreach

标签: java mysql jsp servlets


【解决方案1】:

假设你有一个类 User 有以下属性:-

class user{
        private int id;
        private String  username;
        private String address;
        private String email;
        private String contact;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        public String getContact() {
            return contact;
        }

        public void setContact(String contact) {
            this.contact = contact;
        }

    }

在你的 servlet 中:-

ArrayList<user> member= new ArrayList<user>();
while(rst.next()) {
    user myUser = new user();
    myUser.setUsername(rst.getString("name"));
    myUser.setId(rst.getInt("id");
    myUser.setAddress(rst.getString("address"));
    myUser.setEmail(rst.getString("email"));
    myUser.setContact(rst.getString("contact"));
    member.add(myUser);
}
request.setAttribute("memberList", member);

在你的 Jsp 中:-

<c:forEach var="row" items="${memberList}">

    <tr>
        <td><c:out value="${row.id}"/> </td>
        <td><c:out value="${row.username}"></c:out> </td>
        <td><c:out value="${row.address}"></c:out> </td>
        <td><c:out value="${row.email}"></c:out> </td>
        <td><c:out value="${row.contact}"></c:out> </td>
        <td></td>
        <td><a href="MemberDetailUpdate.jsp" name="Edit">Edit</a> </td>
    </tr>
</c:forEach>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2011-07-27
    • 1970-01-01
    • 2019-01-17
    相关资源
    最近更新 更多