无法从数据库迭代图像

时间:2015-07-06 10:50:04

标签: java html jsp iterator

我从数据库中获取src个图像并试图将其放入JSP页面,但只加载了一个图像而其余的图像没有加载

代码:

<%  
    Iterator<product> itr = list.iterator(); 
    while(itr.hasNext())
    { 
      p=itr.next();  
      String price=p.getPrice();
      String img=p.getImg();
      String pname=p.getPname();                       
   %>   
      <script>
        document.getElementById("image").src="<%=img %>";  
      </script>
    <div class="item">
        <img src="" alt="<%=img%>" id="image"/>
         <h2><%=pname%></h2>

        <p>Price: <em>Rs <%=price%></em>
        </p>
        <button class="add-to-cart" type="button">Add to cart</button>
    </div>  
     <% } %>

但我得到以下输出: screenshot of the jsp page

java DB代码:

public List<product> getProducts(String brand)
{ 
   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%'";
    cs=conn.createStatement();  
   rs=cs.executeQuery(sql);
     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);  
     }

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

}

2 个答案:

答案 0 :(得分:0)

<%  
  Iterator<product> itr = list.iterator(); 
  while(itr.hasNext())
  { 
    p=itr.next();  
    String price=p.getPrice();
    String img=p.getImg();
    String pname=p.getPname();
%>    
<div class="item">
<img src="<%=img%>" alt="<%=img%>"/>
<h2><%=pname%></h2>

<p>Price: <em>Rs <%=price%></em></p>
<button class="add-to-cart" type="button">Add to cart</button>
</div>
<% } %>  

document.getElementById("image").src="<%=img %>";正在覆盖第一个img标记

答案 1 :(得分:0)

我终于找到了答案......这可能是一种解决方法,但它仍然有效!!!

<div style="background: url(<%=img%>);"></div>

刚刚在我的代码中添加了以上内容..无需使用<img>标记