- PR -

空のセッションオブジェクト(配列)でエラー

1
投稿者投稿内容
スライストーン
会議室デビュー日: 2005/05/25
投稿数: 6
投稿日時: 2005-05-27 01:58
こんばんわ。サーブレットで取得した配列のデータをフォームに送信した際、DBにデータがない場合にArrayIndexOutOfBoundsException: Array index out of range: 0
等という(多分JSP側のエラー。TOMCATは正常)エラーが出ますが、どうにか回避できませんか?
データが存在しない場合でも、それ相応の表示をしたいのです。
ちなみにjspでは
Vector xxx = (Vector)session.getAttribute("xxxxxx");
として
Vector型の配列をfor文でget()してます。
taro
ぬし
会議室デビュー日: 2003/10/20
投稿数: 316
投稿日時: 2005-05-27 02:39
配列のサイズより大きいインデックスの値を取得しようとしなければ回避できます。
スライストーン
会議室デビュー日: 2005/05/25
投稿数: 6
投稿日時: 2005-05-27 15:04
taroさん。いつもすばやいレスポンス有難うございます。
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2005-05-27 15:39
size()で格納されている要素数だけ繰り返す、というコードであれば
ArrayIndexOutOfBoundsExceptionは出ないと思います。

Vector v; (v != nullとします)
for (int i = 0; i < v.size(); i++) {
  //繰り返し処理
}
1

スキルアップ/キャリアアップ(JOB@IT)