- - PR -
Beanの値の取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-07 14:45
お世話になります。
JSP + サーブレット + Beanで学習中に行き詰まってしまいました。 手順: @JSPで条件を入力 AサーブレットでDB接続+検索 B検索結果をBeanに格納 CJSPで検索結果表示 というものを行いたいと思っています。 ですが、 reqObject = (ConnectBean)request.getAttribute("reqObject"); if (reqObject == null) { rs.beforeFirst(); *rs・・・検索されたものの結果セット for(i=0; rs.next(); i++){ reqObject = new ConnectBean(); reqObject.setId(rs.getInt("ID")); //out.println(rs.getInt("ID")); reqObject.setName(rs.getString("NAME")); reqObject.setBiko(rs.getString("BIKO")); record[i] = reqObject; } request.setAttribute("reqObject", reqObject); } としているのですが、コンパイル時に 互換性のない型 検出値 : ***.ConnectBean 期待値 : int record[i] = reqObject; ^ エラー 1 個 となってしまいます。 オブジェクトのキャストのしかたがいけないのだと思いいろいろ調べているのですが、解決することができません。 そもそもこのようなBeanの使い方がいけないのでしょうか? 初歩的な質問だとは百も承知ですが、どなたかアドバイスまたはご指摘などをいただけないでしょうか? よろしくお願いいたします。 |
|
投稿日時: 2005-09-07 14:53
record変数の型はなんですか? エラーから推測するとint[]のように思いますが。
ConnectBeanクラスのインスタンスを参照するのだから、ConnectBeanクラスがサポートする 型でなければなりません。おそらくConnectBean[]で大丈夫でしょう。 |
|
投稿日時: 2005-09-07 15:00
uk様 さっそくのご回答ありがとうございます。
>record変数の型はなんですか? 省略してしまっていて申し訳ありませんでした。 int record[] = new int[10]; としています。 >おそらくConnectBean[]で大丈夫でしょう。 というのは record[i] = reqObject; を record[i] = ConnectBean[]; のようにしたらよろしいのでしょうか? 実行してみたところ、 RequestServKensaku.java:96: '.class' がありません。 record[i] = ConnectBean[]; ^ RequestServKensaku.java:96: 予期しない型 期待値 : 値 検出値 : クラス record[i] = ConnectBean[]; ^ エラー 2 個 のようにかえってきたのですが・・・ お手数をおかけいたしますが、ご教授のほどよろしくお願いいたします。 |
|
投稿日時: 2005-09-07 15:31
JSP + サーブレット + Beanの前にJavaの勉強をした方が良いですね。
int record[] = new int[10]; を ConnectBean record[] = new ConnectBean[10]; にするのでは? 基礎からやらないといくらJSPやサーブレットをやってもまったく意味がありませんよ〜。 まずは基礎的な本やHPを見ましょう。 |
|
投稿日時: 2005-09-07 15:40
さる様 ご回答ありがとうございます。
>JSP + サーブレット + Beanの前にJavaの勉強をした方が良いですね。 全くそのとおりです・・・ 時間がないので全てまとめて・・・などと考えていたのが間違いでした。 お手数をおかけして申し訳ありませんでした。 しかし、コンパイルもとおり、うまくいったようです!! 本当にありがとうございました。 今後ともよろしくお願いいたします。 |
1