簡體   English   中英

在jsp中從數據庫加載下拉選項

[英]Load dropdown options from database in jsp

從數據庫以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;

    }

}

usebean是:

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

下拉列表如下:

<select>

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

</select>

我無法編譯該文件並收到以下錯誤消息:

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

我究竟做錯了什么???

您可以檢查兩件事:
1.您的jstl jar文件是否在classpath中? 如果不使用任何依賴項管理系統,則可以將其放在WEB-INF / lib中。
2.如果jstl jar文件位於類路徑中,請檢查是否在jsp頁面頂部包括了jstl聲明:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM