0

I am trying to show values from mysql table to a jsp table via servlet and I have done following in 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);

and in 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>

Now i am not able to get values in the table and the value arriving from ${memberList} is com.mysql.jdbc.JDBC4ResultSet@166d6d3 I dont know how can i fetch value please help

J.Srivastava
  • 51
  • 1
  • 12

1 Answers1

1

Assume that you have a class User have the following attributes :-

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;
        }

    }

In your 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);

In your 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>
karim mohsen
  • 2,164
  • 1
  • 15
  • 19