2016-12-04 54 views
0

我想從我的數據庫動態生成包含我的表「城市」的第二列的下拉列表,我使用postgresql作爲我的DBMS。下拉列表會在我的JSP頁面上生成,並生成正確數量的選項。我的問題是,下拉列表中的所有選項都只是空白的空白。我很確定我已正確連接到數據庫,我只是不太確定爲什麼我的下拉列表中的內容是空的。試圖從我的postgres數據庫動態生成一個JSP下拉列表中的一個JSP

<html> 
<body> 

<% 
    try{ 
     Class.forName("org.postgresql.Driver"); 
     Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost/db"); 
     Statement statement = connection.createStatement(); 
     rs = statement.executeQuery("SELECT * FROM city"); 
%> 
<div id = "menu"> 
    <select> 
     <% 
      while (rs.next()){ 
     %> 
     <option> 
      <% rs.getString(2); %> 
     </option> 
     <% } %> 
    </select> 
</div> 
<% 
    } 

    catch (Exception e){ 
    out.println("ERROR: " + e); 
    } 
%> 
</body> 
</html> 
+0

存在於數據庫中列「2」的數據?在這裏發佈這些數據以及表列詳細信息 – developer

+0

是的,列'2'中有數據。列'2'由char數組形式的城市名稱組成。現在第2列有5行,當我運行我的jsp 5時,空白選擇會顯示在下拉列表中。 – KylePhoneDial

+0

@KylePhoneDial我想你錯過了表達式使用:<%= rs.getString(2); %>。 –

回答

0

要將值打印到html頁面,您需要使用JSP表達式<%= expression %>

這是不正確的在您的代碼並導致問題。 因此,如下圖所示改變內部<option>你的JSP表達式:

<option> 
    <%= rs.getString(2); %> 
</option> 
相關問題