- ベストアンサー
JSPでデータ一覧表示
JSP+Bean+Servletで作っています。 BeanでDB接続、データを取得して、 それをJSPで一覧表示として表示させたいのですが、 どのタグを使えばいいのでしょうか。 また、その場合、タグは、Servletとか Beanでかく必要がありますか。 たとえば、今、DBに30個データがある場合、 JSPでそれをTABLEタグを使って 一覧表示させますよね。 でもJSP側では、<TR><TD></TD></TR>の データをいくつセットできるか、っていう 数がきまってますよね。てことは、 ServletとかBeanでHTMLのタグをうって 表示させないといけないんですか??? やりたいことは、BeanとかServletで タグは書かずに、JSPでパラメータだけ 受け取って、その数だけデータを 表示させたいんです。 (JSPだけでタグをかいて、パラメータで わたってきたデータを表示させたい。) そういうことってできますか?? ・・・説明がうまく出来てないかとは思うのですが よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- JSP: テキストからPDF作成
以前も質問してJSPでテキストファイルから、PDFを作成できるようになったのですが。 HTMLタグ(主にテーブルタグです。)が書いてあるテキストファイルを読み込み、PDFファイルにブラウザでの表示と同じようにテーブルを出力したいのです。 現在、1行ごとに判定して<tr>や<td>がでたらcell.setRowspan();とかで作り直す方法を考えていますが、この場合、その他のタグに対応しきれないと思います。 何か良い方法をご存知の方教えてください。よろしくお願いします。
- 締切済み
- Java
- jspでのArrayListの値の表示
jsp上でBeanで以下のように設定されている ArrayList<ArrayList<Integer>> a; a.add(new ArrayList<Integer>); a.add(new ArrayList<Integer>); a.add(new ArrayList<Integer>); a.get(0).add(0); a.get(0).add(1); a.get(1).add(2); a.get(1).add(3); a.get(1).add(4); a.get(1).add(5); a.get(2).add(6); a.get(2).add(7); a.get(2).add(8); aのような行と列が不定のArrayListの全ての値をjspの画面上に 値 値 値 0 2 6 1 3 7 4 8 5 といったようにテーブルで表示したいのですがjspにどのような既述をすればよいでしょうか? クリックしたときの処理などの導入や項目を増やすなど拡張する場合があるので 以下のような形とレイアウトが同じようになると望ましいです <td> <table> <tr>値</tr> <tr>0</tr> <tr>1</tr> <tr>2</tr> </table> </td> <td> <table> <tr>値</tr> <tr>3</tr> <tr>4</tr> <tr>5</tr> </table> </td> <td> <table> <tr>値</tr> <tr>6</tr> <tr>7</tr> <tr>8</tr> </table> </td>
- ベストアンサー
- JavaScript
- JSPの実行結果をHTMLに変換
全然知らないので的外れの質問だったらゴメンなさい。 JSPやCGIの実行結果のHPに表が表示されているとします。 その場合、そのHPのソースを[表示]→[ソース]で表示しても、 HTML形式のように[TR][TD]等のタグって見れないし、もちろん その内容のデータも見れないですよね。 [ファイル]→[名前を付けて保存]を行なってもやはりソースは 確認できませんでした。 何がしたいかと言うと、JSPの実行結果で表示されるHPの表を HTML形式のようにデータ(タグ付)をソースで取得したいのです。 そんな事は可能なのでしょうか? 何やら、JSPの結果で表示されているHPをHTMLに変換して取得 するツールがあると聞いた事があるのですが、どこを探しても 該当するツールは見付かりませんでした。 上記の機能を実現する方法、またはツールがあれば教えて下さい。
- ベストアンサー
- HTML
- mysql内データ一覧表示
for文を使用し、データ一覧を出しています。 ソースは for ($i = 0; $i < 10; $i ++) { if($row = mysql_fetch_array($result)) { $name1 = $row['name1']; $name2 = $row['name2']; $names .= '<tr>'."\n"; $names .= '<td>' .$name1. '</td>'."\n"; $names .= '<td>' .$name2. '</td>'."\n"; $names .= '</tr>'."\n"; } } echo $names; としています。 データベース内に内容10個あればもちろん10個表示されます。 例えば8個しか内容がない場合は8個表示されるのですが、残りの2個を空の<tr>~</tr>で埋めたいのですが、どのように記述したらよろしいでしょうか? 例は8個目までは <tr> <td>$name1の値</td> <td>$name2の値</td> </tr> 8個目以降は <tr> <td></td> <td></td> </tr> としたいです。 宜しくおねがいします。
- ベストアンサー
- PHP
- JSPとjavaの問題
ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST "); ArrayList list = new ArrayList(); while(rs.next()) { int state = rs.getInt("attendance"); list.add(new Integer(state)); } int[] in = new int[list.size()]; for (int i = 0; i < list.size(); i++) { in[i] = ((Integer)list.get(i)).intValue(); } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSPでDB接続</title> </head> <body> <table> <tr><td>欠席</td><td>><%= countNum(-1, in) %></td></tr> <tr><td>未定</td><td><%= countNum(-1, in) %></td></tr> <tr><td>出席</td><td><%= countNum(-1, in) %></td></tr> </table> 以下のエラーがでてきますが、どういう意味でしょうか。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: /jsp/tokei.jsp の中の26行目でエラーが発生しました The method countNum(int, int[]) is undefined for the type tokei_jsp 23: </head> 24: <body> 25: <table> 26: <tr><td>キ鄲ハ</td><td>><%= countNum(-1, in) %></td></tr> 27: <tr><td>フ、ト�</td><td>3</td></tr> 28: <tr><td>スミタハ</td><td>3</td></tr> 29: </table> よろしくおねがいします。
- ベストアンサー
- Java
- DHTMLでテーブルの行の表示・非表示を切り替える。
こんにちは。 WEBアプリケーションのモックアップを作成しています。 自身はJava屋ですが、DHTMLに明るくないため、苦戦しています。 同一画面内のリンクがクリックされた場合に・・・ テーブルの行の表示、非表示を切り替えたいのです。 <!-- ========================= --> <!-- テーブル1 --> <table border="1"> <tr> <td>ヘッダ1</td> <td>ヘッダ2</td> </tr> <!-- ☆☆☆ ここから ☆☆☆ --> <tr> <td>111</td> <td>aaa</td> </tr> <tr> <td>222</td> <td>bbb</td> </tr> <!-- ☆☆☆ ここまで消したい ☆☆☆ --> </table> <!-- テーブル2 --> <table border="1"> <tr> <td>ヘッダA</td> <td>ヘッダB</td> </tr> <tr> <td>あああ</td> <td>いいい</td> </tr> </table> <!-- ========================= --> <tr>タグを<div>タグで囲んで、styleでhidden、visibleを切り替えようと考えましたが、<tr>に<div>タグが使えない事を知りました。 そこで、テーブル1を大きくテーブルで囲み、ヘッダとボディ部をセルに入れて、セルの表示・非表示を切り替えました。 これは上手くいったのですが、非表示にした場合、テーブル2との間は詰まるようにしたいのですが、もともと表示されていた分のスペースが出来てしまいました。 あまり、ロジックを組み込まずに作ろうと考えているのですが、上手い方法が思いつきません。 何か良い方法がありましたら、ご教授願います。 ターゲットのブラウザは… IE5.5~IE7 です。
- ベストアンサー
- HTML
- jsp から servlet に
パラメータをJSPからServlet に渡す所で、どうしても、null になってしまします‥。 主要な部分だけ書きます。 --jsp-- <jsp:useBean id="beanId" class="Bean" scope="request" /> <form method="POST" action="servlet"> <input type="submit" value="送信"> <input type="text" size="10" name="name"> --servlet-- import Bean; Bean bean = (Bean)request.getAttribute( "beanId" ); // ↑ここが、nullになってしまう。 --Bean-- public String getName() { return name; } public void setName( String name ) { this.name = name; } 考え方が違ってるかも知れないのですが‥。 よろしくお願いします。
- ベストアンサー
- Java
- JSPが表示できない
サーブレットからJSPに表示させようとしているのですがJSPの中にJAVAソース を加えると表示できなく画面が真っ白になり、加えなければ表示できます。 原因がなぜなのかわからなく困惑中です。ソースは以下の通りです。 アドバイスお願いします。 <%@ page contentType="text/html;charset=Shift_JIS" import= "java.sql.*" %> <jsp:useBean id="Bean" class="Servlet"scope="session" /> <html> <head><title>表示画面</title></head> <body> // BeanファイルでデータをSQL文によって取り出しrs変数に格納し // getNameCDメソッドによってデータを取り出す。BeanファイルではSQL文 実行確認済み <% ResultSet rs = Bean.getNamaCD(); %> <% while(rs.next()){ out.println(rs.getString(1)); // 名前のコードを取り出し表示させる。 } %> </body> </html>
- 締切済み
- Java
- サーブレットから送られてきた文字が表示されない
urizakaです さて、OSはWindows2000、アプリケーションサーバーはTomcat-3.3aという環境でJSP+DB(posgreSQL windows-Native版)でサーブレットからBeanにDBのデータを検索させるというきわめてオーソドックスなプログラムを組んだのですが、どうしたわけかブラウザー(IE6.0)の画面にJSPで設定したタブや文字が表示されず、真っ白に表示されてしまいます。プログラムのエラーかと思って、Tomcatの画面を見てみたのですが、Tomcatにはエラーらしい表示はなく、それどころか表示→ソースの順番に見てみるとちゃんとそこには表示したかったデータのHTMLデータがある状態です。表示→エンコードで文字種類を変えてもだめでした。別にMETAタグで変な設定をしているわけではないのですが・・・ ちなみに、JSPのソースコードは以下のようです <%@ page import = "NeoBean" %> <jsp:useBean id="neobean" scope="session" class="NeoBean"/> <HTML> <head> <title>サンプルでGO!</tilte> </head> <body> <input type="button" value="aaaa"> <H3>サンプル画面表示</H3> <table width="100%" border="1"> <% int i = 0; for(int lp = 1; lp <= neobean.getID().size(); lp++){ %> <TR> <TD width="20%"> <% out.println(neobean.getID().elementAt(i)); %> </TD> <TD width="80%"> <% out.println(neobean.getName().elementAt(i)); %> </TD> </TR> <% i++; } %> </table> </body> </HTML> すみませんが、ご存知の方よろしくお願いします。
- ベストアンサー
- Java
お礼
すみません。。また質問です。 <table> <% for(int p=0; p < wk.getData_cnt(); p++){ %> <tr> <td><%= wk.getList() %>out.print("www");</td> </tr> <% } %> </table> こういう感じでJSPは書いてます。 wk.getData_cnt()はちゃんと件数がとれてました。 Beanで読んだデータをArg_Dataという配列に 入れてSetメソッドでセットしています。 そしてJSPでGetしようと思ったんですが、 [Ljava.lang.String;@6fb836out.print("www");[Ljava.lang.String;@6fb836out.print("www");[Ljava.lang.String;@6fb836out.print("www"); ・ ・ ・ こんな感じで表示されます。 配列の要素数をセットしていないので こうなるんだとおもうんですが、 Forでまわすところ、配列の要素数 はどうやってセットしたらいいんでしょうか? wk.getList()このなかのかっこにカウンタ変数 とかいれるとエラーになっちゃうんですが、、、 基本的なことを聞いてすみません。
補足
mkimさん、早い回答ありがとうございます。 日々、分からないことだらけで追われております。。 そうですよねー。なんか勘違いしてたのかも。 JSPの中でまわしたらいいですよね。 ちょっとやってみます。 また質問するかもしれませんがよろしくお願いします。