2016-05-15 2 views
0

Ich habe ein kleines Problem beim Laden eines Dropdown-Menüs in einem Formular in JSP aus einer Datenbank. Dies ist die Klasse Ich verwende:Load Dropdown-Optionen aus der Datenbank in JSP

package Carros; 

import java.sql.*; 
import java.util.List; 
import java.util.Scanner; 
import java.util.ArrayList; 
/** 
* 
* @author luis.moran 
*/ 
public class DatosVehiculos { 
    Connection conn = null; 
    private List<String> list; 

    public DatosVehiculos(){ 
     CargarDriver(); 
    } 

    public void CargarDriver(){ 
     try { 
      Class.forName("oracle.jdbc.driver.OracleDriver"); 
      System.out.println("Conexion exitosa"); 
     } catch(Exception e){ 
      System.out.println("Conexion fallida"); 
      e.getStackTrace(); 
     } 
    } 

    public void conectarBaseDatos(){ 
     String url = ("jdbc:oracle:thin:@instanciadb.cl3tiuy2smr4.us-west-2.rds.amazonaws.com:1521:ORCLJAVA"); 
     String user = "proyectos"; 
     String pass = "portaldejava"; 

     try { 
      conn = DriverManager.getConnection(url, user, pass); 
      System.out.println("Conexion exitosa con base de datos"); 
     } catch(Exception e){ 
      System.out.println("Conexion fallida con base de datos"); 
      e.getStackTrace(); 
     } 
    } 

    public List<String> getList(Vehiculos datos){ 

     Statement stmt = null; 
     ResultSet rs = null; 
     conectarBaseDatos(); 
     list = new ArrayList<String>(); 

     try { 
      String query = ""; 
      query = "select * from modelo"; 

      stmt = conn.createStatement(); 
      rs = stmt.executeQuery(query); 

      while(rs.next()){ 
       list.add(rs.getString("marca")); 
      } 

     } catch(Exception e){ 
      System.out.println(e.getMessage()); 
     } finally { 
      try { 
       if(stmt != null){ 
        stmt.close(); 
       } 
       if(conn != null){ 
        conn.close(); 
       } 
      } catch(SQLException ex){ 
       ex.getStackTrace(); 
      } 
     } 

     return list; 

    } 

} 

die useBean ist:

<jsp:useBean id="buscarCombos" scope="page" class="Carros.DatosVehiculos" /> 

Die Drop-Down ist die folgende:

<select> 

    <c:forEach var="item" items="${buscarCombos.getList(datos)}"> 
      <option>${item}</option> 
    </c:forEach> 

</select> 

Ich bin nicht in der Lage, die Datei und bekommen dies zu kompilieren Fehlermeldung:

error: package org.apache.taglibs.standard.tag.rt.core does not exist 

wha t mache ich falsch?

+0

Haben Sie gelesen haben? http://stackoverflow.com/tags/jstl/info Wie haben Sie die Taglib in Ihrer JSP deklariert? – rickz

Antwort

0

Es gibt zwei Dinge, die Sie überprüfen können:
1. Ist Ihre JSTL-JAR-Datei im Classpath? Sie können das in WEB-INF/lib einfügen, wenn Sie kein Abhängigkeitsverwaltungssystem verwenden.
2. Wenn jstl JAR-Datei im Classpath ist, dann überprüfen Sie, ob Sie die jstl Erklärung wie enthalten sind, so auf der Oberseite der jsp Seite:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
Verwandte Themen