2016-08-15 75 views
0

我有一個網頁接受來自用戶的查詢,並將它傳遞給一個servlet。這個servlet調用我的java函數來運行查詢並得到結果表。我現在有這個結果集,但是我希望在我的網頁上的表格中顯示這個結果集。問題是我不知道什麼查詢是在手之前或它將運行的表的架構。我想知道是否有辦法在我的網頁上動態呈現結果集內容。由於我不知道模式,所以不要選擇創建java模型對象。我使用的是HTML,JSP,而且顯然是Java在表中的HTML頁面上動態顯示結果集

+0

你能編寫一個代碼來傳送ArrayList內容到HTML表格嗎? –

+0

@PM 77-1你能否詳細說明一下?因爲我想我可以弄清楚,想知道這可以幫助我解決問題嗎? – newbie

+0

將結果集讀入'ArrayList >'(strings的arraylist的araylist)並傳遞給您的JSP。您的JSP將在不知道其實際內容的情況下將其呈現爲表格。 –

回答

0

我希望我關於JSP的記憶力很好。我想你已經做了一個選擇與'*'具有所有列。在結果中可以有多少個列,所以知道需要創建多少列,並在列名稱上使用「for」,爲您提供列名稱。有了這個,你應該可以在不知道表中列名的情況下顯示選擇結果。可能僅限於JDBC的結果集。對不起,如果不適用你

0

在你的resultset對象上使用getMetaData()來獲取結果集的詳細信息,如列的數量和列的名稱。使用size()方法獲取結果集的大小。你可以計算你的html表中有多少行,並使用resultset.getMetaData()。getColumnCount()你可以計算你的html表中的列數。您可以使用列名稱作爲表格列的標題。

讓我知道你是否需要進一步的幫助。

示例代碼從您的resultset中檢索元數據。

st = conn.createStatement(); 
ResultSet rs = st.executeQuery("SELECT * FROM survey"); 

ResultSetMetaData rsMetaData = rs.getMetaData(); 

int numberOfColumns = rsMetaData.getColumnCount(); 
System.out.println("resultSet MetaData column Count=" + numberOfColumns); 

for (int i = 1; i <= numberOfColumns; i++) { 
    System.out.println("column MetaData "); 
    System.out.println("column number " + i); 
    // get the column's name. 
    System.out.println(rsMetaData.getColumnName(i));  
}