- - PR -
サーブレットで数値を受取る場合は?
1|2|3
次のページへ»
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-04-16 13:31
ここのところ毎日お世話になってます。m(__)m
フォーム等で入力した数値をサーブレットで受取る場合、どう書けばいいのですか? 文字型だと String GetNo=request.getParameter("No"); でいいですが、 int GetNo=request.getParameter("No"); では、エラーになります。 知識がなくてすみません。よろしくお願いします。 [ メッセージ編集済み 編集者: nabeママ 編集日時 2003-04-16 16:39 ] |
|
投稿日時: 2003-04-16 13:43
request.getParameter()の戻り値は文字列になってます。
文字列strから整数値GetNoに変換するには、次のようにします。 GetNo=Integer.parseInt(str); |
|
投稿日時: 2003-04-16 13:48
public java.lang.String getParameter(java.lang.String name)
なので、Stringしか返りません。Stringで取得してintに変換するしかないです。 手抜きで書けばこれでintに出来ます。 Integer.valueOf(request.getParameter("No")).intValue(); パラメータがないときのNullPointerExceptionと パラメータが数字でないときのNumberFormatExceptionの 2つの例外が想定されますので、それなりの処理が必要になります。 多分、こんな感じで。 int no = 0; String value = request.getParameter("No"); if (value != null) { try { no = Integer.valueOf(value).intValue(); } catch (NumberFormatException e) { // 例外処理 } } else { // パラメータがないときの処理 } |
|
投稿日時: 2003-04-16 14:01
自己フォロー
Integer.valueOf(value).intValue(); より Integer.parseInt(value); の方が処理は早いと思います。 valueOfの中でparseIntを呼んでいるようです。 |
|
投稿日時: 2003-04-16 14:15
nabeママさん、
はじめまして >ここのところ毎日お世話になってます。m(__)m >知識がなくてすみません。よろしくお願いします。 この掲示板の方たちは優しい方が多いみたいで nabe ママさんの初歩的な質問に答えてくれてますが・・・ nabeママさんは お仕事で Javaをやってるんですよね? だとしたら、まず本屋さんに行って Java, J2EE(Servlet/JSP)関連の本を買ってきて2〜3日で集中して勉強される事を <b> 強く強く </b> おすすめします _________________ ユゥミ ♪♪ |
|
投稿日時: 2003-04-16 15:31
みなさんレスありがとうございます。
tabbyさんの丁寧なレスどおりに書いて実行しました下記のエラーでした。 type Exception report message Internal Server Error description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request. exception java.lang.NumberFormatException: null 最初に実行されると必ずnullが入ります。 なぜでしょう?よろしくお願いします。 yuuさん、手痛いレスありがとうございます。 本は数冊買って勉強していますが簡単なことしか書いていないんですよね(泣) 毎日本屋さん行って探してますが、どの本も似たりよったりで・・・(地方なもので) 会社にJavaプログラミング経験者がいませんから聞く人もなく、こういうHPに頼るしかないんです。それこそ時間があればじっくり勉強できますが、作成猶予があまりありませんのでつい頼ってしまいます。皆さんに申し訳ないと思ってますが、できればおつきあい願いたいと切に思っています。 |
|
投稿日時: 2003-04-16 15:43
どういった設計でしょうか。
いきなり、アクセスしてデータを取り出そうとすると パラメータが存在しないので NullPointerExceptionがでます。 ちゃんと、データ渡さないといけません。 |
|
投稿日時: 2003-04-16 16:34
raystarさん、ありがとうございます。
どういった設計・・・うまく説明できませんがたとえば、 ログイン画面があって、ログインするとDBを検索してログイン者やパスワードが違っていたら再入力してもらう時、最初のログインするサーブレットと違っていた場合のサーブレットを別にしないで同じサーブレットで実行していると思うのですが、この場合最初に実行したらログイン者やパスワードってnullですよね。 raystarさんの仰るとおりデータを渡すようにやり直します。 長々とありがとうございました。 |
1|2|3
次のページへ»
