java - 列表迭代器返回零

标签 java jsp arraylist iterator

我正在尝试使用列表迭代器迭代表中的记录,但它返回记录。我使用了 setter getter 类并尝试将记录提取到 jsp 页面中

代码如下:

java函数:

public List<product> getProducts()
{ 
   List<product> prod=new ArrayList<product>();
  try
  {
   conn = obj.connect();
   String sql="select product.product_name , product.price ,  product.image_url "
           + "from category , product "
           + "where product.category_id=category.category_id and   product.product_brand like 'LG%'";
     rs=cs.executeQuery(sql);
   while(rs.next())
   {
      p.setPname(rs.getString(1));
      p.setPrice(rs.getString(2));
      p.setImg(rs.getString(3));
   }
     prod.add(p);
  }

    catch(SQLException e)
    {
        e.printStackTrace();
    }
    catch(Exception k)
    {
        k.printStackTrace();
    }
  return prod;
}

jsp代码:

operations op=new operations(); 
      product p=new product();
      List<product> list=op.getProducts();          
   %>

   <title>LG Mobiles</title>
  </head>
<body>
    <b><font color="blue">Total Records Fetched : <strong><%=list.size()%></strong></font></b>

QUERY 在 sql 中运行良好,我检查并确认

下面是 setter getter 类的一小段 product.java

public void setPname(String pname)
{
  this.pname=pname;
}
public String getPname()
{
  return pname;
}
public void setPrice(String price)
{
  this.price=price;
}
public String getPrice()
{
  return price;
}

最佳答案

移动 prod.add(p);在 while 循环内。因为您并不是每次都添加对象。另外,您每次都需要在循环中创建 p 的新对象。

while(rs.next())
   {
  product p = new product();
  p.setPname(rs.getString(1));
  p.setPrice(rs.getString(2));
  p.setImg(rs.getString(3));
   prod.add(p);
  }

关于java - 列表迭代器返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237891/

相关文章:

java - Eclipse 未从中央 Maven 存储库下载插件

java - 使用 java 类创建基于 JSP 的应用程序(业务逻辑)

java - 从列表列表中提取列表

java - 我想要一个包含 100 名具有属性的学生的列表。我怎样才能在java中拥有这样一个列表而不使用add.list() 100次?

java - 尝试读取整数和字符串文件并出现错误

java - 特定于类的方法可见性

Java 8 Date.from 的 Java 7 org. Threeten 端口解决方案

java - 准备好的语句和 JDBC 驱动程序

javascript - 通过单选按钮选择一行时,将一行数据复制到同一页面的文本字段

java - 在 Apache Web 服务器中评估的表达式语言