2016-08-15 13 views
0

私は、ユーザからのクエリを受け入れ、それをサーブレットに渡すウェブページを持っています。このサーブレットは、クエリを実行して結果の表を取得するJava関数を呼び出します。私は今この結果セットを持っていますが、私はこの結果セットを私のウェブページ上のテーブルに表示したいと思います。問題は、それが実行されるテーブルのスキーマまたは手前のクエリがわからないことです。 Webページ上のテーブルに結果セットの内容を動的に表示する方法があるかどうかを知りたかったのです。私はスキーマを知らないので、Javaモデルオブジェクトを作成するオプションはありません。私はHTML、JSP、明らかにJavaを使用しています。テーブル内のHTMLページに動的に結果セットを表示

+0

ArrayListコンテンツをHTMLテーブルに転送するコードを記述できますか? –

+0

@PM 77-1あなたは詳しく説明できますか?私はそれを理解することができると思うので、それが私の問題にどのように役立つかを知りたがっていますか? – newbie

+0

あなたの結果セットを 'ArrayList >'(文字列のarraylistsのaraylist)に読み込み、JSPに渡します。あなたのJSPは実際の内容を知らなくてもテーブルとしてレンダリングします。 –

答えて

0

私はJSPについての私の記憶が良いことを願っています。私はすべての列を持つために '*'を使って選択をしたとします。その結果、列の数を持つことができるので、作成する列の量と列名の「for」を知っているので、列名を指定できます。これにより、テーブルの列名を事前に知らなくても選択結果を表示できるようになります。 JDBCの結果セットでのみ可能です。申し訳ありませんが適用されない場合

0

結果セットオブジェクトのgetMetaData()を使用して、列の数や列名などの結果セットの詳細を取得します。 size()メソッドを使用すると、結果セットのサイズが取得されます。

次にsize()を使用すると、htmlテーブルにある行数を計算し、resultset.getMetaData()。getColumnCount()を使用すると、htmlテーブルの列数を計算できます。列名は、表の列の見出しに使用できます。

さらなるヘルプが必要な場合はお知らせください。

サンプルコードは、結果セットからメタデータを取得します。

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));  
} 
関連する問題