2017-12-30 21 views
0

Ich versuche Zugriff auf Datenbanktabelle Daten mit Java Bean Propety und Array-Liste. Ich um Array-Liste in HTML-Tabelle zu konvertieren. Ich kann kein richtiges Beispiel finden. Ich möchte Servlet nicht verwenden.Zugriff auf Datenbanktabelle mit Java-Bean-Array-Liste

public class ItemBean { 
    int item_id; 
    String item_name; 
    String item_description; 
    double item_costpice; 
    double item_unitpice; 
    public void setItemId(int id){this.item_id=id;} 
    public int getItemId(){return item_id;} 

    public void setItemName(String name){this.item_name=name;} 
    public String getItemName(){return item_name;} 

    public void setItemDesc(String name){this.item_name=name;} 
    public String getItemDesc(){return item_name;} 

    public void setItemCostPrice(double price){this.item_costpice=price;} 
    public double getItemCostPrice(){return item_costpice;} 

    public void setItemUnitPrice(double price){this.item_unitpice=price;} 
    public double getItemUnitPrice(){return item_unitpice;} 

} 

package pam.setup; 
import java.sql.*; 
import java.util.ArrayList; 

public class Item { 

    public static ArrayList<ItemBean> ItemList() 
    { 
     ResultSet rs = null; 
     ArrayList<ItemBean> list=new ArrayList<ItemBean>(); 
     ItemBean dbitem = new ItemBean(); 
     try{ 


      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con=DriverManager.getConnection( 
        "jdbc:mysql://localhost:3306/sonoo","root",""); 

       Statement stmt=con.createStatement(); 
       rs=stmt.executeQuery("select * from items"); 
       con.close(); 
       while (rs.next()) { 
        dbitem.setItemId(rs.getInt("item_id")); 
        dbitem.setItemName(rs.getString("name")); 
        dbitem.setItemDesc(rs.getString("description")); 
        dbitem.setItemCostPrice(rs.getDouble("cost_price")); 
        dbitem.setItemUnitPrice(rs.getDouble("unit_price")); 
        list.add(dbitem); 
       }   
     }catch(Exception e){ System.out.println(e);} 

     return list; 

    } 
} 

<jsp:useBean id="items" scope="page" class="pam.setup.Item" type="pam.setup.Item"> 
    <table> 
     <tbody> 
     <c:forEach items="${item.itemList}" var="item"> 
      <tr><td>item.itemId</td><td>item.itemName</td></tr> 
     </c:forEach> 
     </tbody> 
    </table> 
</jsp:useBean> 

ich oben Code geschrieben haben, möchte ich Datenbank Tabellendaten in jsp zuzugreifen Java Bean-Eigenschaft verwenden und Daten durchlaufen und HTML-Tabelle zu erzeugen. Aber Ich werde unten Ergebnis anstelle der tatsächlichen Artikel-ID und Namen genannt.

item.itemId item.itemName

+3

Niemand wird etwas für Sie schreiben, wenn Sie zuerst selbst etwas ausprobiert. Sie werden die JSP schreiben und dann zurückkommen, wenn Sie auf ein Problem stoßen. Ich denke, Sie verstehen nicht, wofür Stackoverflow gebaut wurde. – sfat

+0

Dieser Link muss Ihnen helfen ..https: //stackoverflow.com/questions/6395621/how-to-call-a-static-method-in-jsp-el –

Antwort

0

New ItemBean muss für jede Iteration der Schleife erstellt werden:

while (rs.next()) { 
    ItemBean dbitem = new ItemBean(); 
    dbitem.setItemId(rs.getInt("item_id")); 
    ... 

Schließen Sie die Verbindung nach die Schleife.

Verwenden $ {} bean Ausdruck auszuwerten:

<tr><td>item.itemId</td><td>${item.itemName}</td></tr> 
+0

Ich habe dies getan, keine Änderung. In der jsp-Datei gibt es ein Ausrufezeichen für jede Loop-Zeile des Codes und erwähnen in Tipp das unbekannte Tag c. Ich verdünne dies kann der Grund sein –

+0

für unbekannte c-Tag Ich habe unter Zeilen und jstl.jar Datei in der lib hinzugefügt. % @ taglib uri = "http://java.sun.com/jsp/jstl/core" Präfix = "c"%><% @ taglib uri = "http://java.sun.com/jsp/jstl/xml "Präfix =" x "%> –

Verwandte Themen