- PR -

getParameterについて

1
投稿者投稿内容
kセイバー
常連さん
会議室デビュー日: 2005/10/12
投稿数: 33
投稿日時: 2006-03-06 12:33
現在、jSPで検索フォームを作っているのですが、検索の値を別フレームから取ってくるところで、NullPointerExceptionが発生します、ソースは下記のとおりです。

if(req.getPrameter("year1")!=null
&& req.getPrameter("month1")!=null
&& req.getPrameter("day1")!=null
)
{
String year1=req.getPrameter("year1")
String month1=req.getPrameter("month1")
String day1=req.getPrameter("day1")


APIのJAVAdocを見たところ値が存在しない場合、nullを返すと書いてあったのですが、なぜか
&& req.getPrameter("month1")!=null
の付近でエラーが発生しています、なぜgetParameterを参照しただけで、NullPointerExceptonが発生するのか、ご教授願えないでしょうか?


progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2006-03-06 12:55
このコードで
NullPointerException
になるとすれば
req がnullですかね
kセイバー
常連さん
会議室デビュー日: 2005/10/12
投稿数: 33
投稿日時: 2006-03-06 13:57
レスいただきありがとうございます

reqはnullではなくorg.apache.catalina.connector.htttpRequest@10b8d03という値が入っていました。
この処理では、jsp既定のrequestをhttpservletrequest型変数reqに代入し使用しています。
代入しているのは、メソッドでrequestから値を取り出す為です。
検索は検索ボタン押下時に行われるのですが、検索ボタン押下前も押下後もreqには同じ値が代入されていました。
kセイバー
常連さん
会議室デビュー日: 2005/10/12
投稿数: 33
投稿日時: 2006-03-06 14:17
いろいろ調べてみたところ、getdata()というフォームのデータを持ってくるメソッドの前にreqにrequestを入れる処理でreqに値が入るはずだったのですが、初期化メソッドが(全変数にnullを入れる)がreqにrequestを入れる処理の後に来ていたため、
nullPointerExceptionになっていたようです。
お騒がせしてすみません

//修正前
req=request;
syokiset();//全部初期化するメソッド

//修正後
syokiset();//全部初期化するメソッド
req=request;


1

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