从 servlet 获取值并将其显示在 JSP 的表中 [重复]

Posted

技术标签:

【中文标题】从 servlet 获取值并将其显示在 JSP 的表中 [重复]【英文标题】:Fetching value from servlet and showing it in table in JSP [duplicate] 【发布时间】: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 我不知道如何获取价值,请帮助

【问题讨论】:

你应该传递列表而不是结果集 我希望这个链接能工作***.com/questions/384189/… 谢谢,但我更改了整体代码并从 jsp 执行 然后添加 while (resultSet.next()) 并执行 foreach 【参考方案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>

【讨论】:

以上是关于从 servlet 获取值并将其显示在 JSP 的表中 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在java中将Arraylist值从servlet传递到JSP?

怎么从servlet传递一个值,然后在一个jsp页面得到这个值

在jsp的<script></script>中怎么获取servlet传过来的参数呢??我想接收从servlet类传过来的数据显示出来

servlet怎么从javabean得到表格数据 然后再传给jsp

在servlet中怎样获取jsp中下拉列表中的值

为什么来自Checkboxes的字符串值在java中增加了+1?