2013-01-11 106 views
0
<select name="supplier"> 
    <% 
     try { 
     Connection conn = JavaConnect.ConnectDb(); 
     Statement stmt = conn.createStatement(); 
     ResultSet rs; 
     rs = stmt.executeQuery("SELECT name FROM supplier "); 

     while(rs.next()) { 
      out.write("<option value ="+rs.getString("name")+"</option>"); 

     } 
     rs.close(); 
     stmt.close(); 

     } 

     catch(Exception e) { 
      System.err.print("Sorry"); 
          } 
%> 
</select> 

我想在jsp頁面中填充組合框,並嘗試了上述,但即時獲取空的組合框。我已經研究了其他答案,但其中大多數似乎不起作用。從數據庫填充組合框

+0

從現在起,您應該[避免](http://stackoverflow.com/a/3180202/1037210)使用Scriptlet。 – Lion

回答

2

首先,您不應該在JSP頁面中使用java代碼。 EL就是爲了這個目的。所有這些代碼應該進入服務器端。檢查SO Servlets Wiki page的正確使用。

但讓我們說你的結果集正在返回一些東西。因此,嘗試這則:

out.write("<option value=" + rs.getString("name") + ">" + rs.getString("name") + "</option>"); 

如果你將再次看到空表,那麼你的結果集是空的。

+0

謝謝,結果集不是空的,但我如何填充數據庫中的所有值,而不僅僅是2. – Hoody

+0

它取決於你如何填充它們:) –

+0

如果我在數據庫中添加更多的供應商,上面怎麼會更改代碼以考慮所有 – Hoody