ServletでDBにアップロードするページをつくろうとしてます。そこで、登録フォームの入力チェックをし、エラーがあればエラーページに転送したいのですがうまくいきません。
下記がプログラムの一部なのですが、
------------------
(省略)
name = req.getParameter("NAME");
// 文字列の長さのチェック(入力文字にエラーがあればエラー文字列を追加)
errorMessage += エラーチェックメソッド(name);
// エラーメッセージが設定されていたら
if(!errorMessage.equals("")) {
// request オブジェクトにエラーメッセージを設定
req.setAttribute("error_message", errorMessage);
ServletContext sc = getServletContext();
//エラーページへ転送
RequestDispatcher rd = sc.getRequestDispatcher("エラーページURL");
rd.forward(req,res);
}
}
name = new String(name.getBytes("8859_1"),"SJIS");
//登録処理
(省略)
--------------------
登録フォームで無記入で登録して、エラーを発生させてると下記の様なエラーが発生してうまくエラーページに転送ができません。
どの様にエラーページに転送すればいいのかわからず、困ってます。
どのたか、ご教授頂けないでしょうか?よろしくお願いいたします。
--------------------------
エラー内容
'NAME' には、長さ 0 の文字列を格納できません。
No.1
- 回答日時:
全然自信はないのですが…。
// エラーメッセージが設定されていたら
if(!errorMessage.equals("")) {
}
このif文の中の処理には入っていますか?
入っていないのなら、エラーチェックメソッドのほうに
問題があるとは考えられませんか?
pinky23さん
アドバイスありがとうございます。
無事、解決することができました。
転送先URLを絶対パスから相対パスにすることが解決できました。
ありがとうございました。
No.2ベストアンサー
- 回答日時:
もう少し詳しいソースコードがあればわかると思うのですが、
>name = req.getParameter("NAME");
こんなこと聞くのは失礼ですが画面にNAMEフィールドはありますよね?
>errorMessage += エラーチェックメソッド(name);
errorMessage は最初に初期化されていますか?(String errorMessage="";等)
エラーチェックメソッドは正常であれば""を返すのですか?
>rd.forward(req,res);
この後にreturn文は入れておいたほうが無難ですね。
転送処理自体は問題ないと思うので、pinky23さんと同じ意見で
エラーチェックメソッドの方に問題があるように思えます。
bo-kenさん
アドバイスありがとうございました。
無事に解決することができました。
転送先URLを絶対パスを相対パスに変更することで、うまくエラーページを表示することができました。
転送方法に、問題ないことが確認できて助かりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
JSP内でString型からint型に変...
-
コンパイル時にエラーが出てし...
-
Eclipseで次のエラー箇所にジャ...
-
eclipseをバージョンアップした...
-
シンボルが見つかりませんとい...
-
eclipseでのライブラリの追加に...
-
タグが閉じてないというエラー...
-
エラー:org.springframeworkが...
-
java.lang.IllegalArgumentExce...
-
java eclipse キーボード入力
-
JSPのIF文を教えて下さい
-
Javaの配列に関するエラーに関して
-
Hot code replace failed ?
-
Android Studioでシンボルが見...
-
javamailを使ってのメール送信。
-
xmlの読込エラー
-
Javaのエラーについてです
-
for,while文とreturn
-
java.lang.StringIndexOutOfBou...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
エラー:org.springframeworkが...
-
tomcat起動時エラー
-
Javaのエラーについてです
-
タグが閉じてないというエラー...
-
コンパイル時にエラーが出てし...
-
構文エラーのやり直しについて
-
eclipseをバージョンアップした...
-
eclipseでのsvn認証エラー回避方法
-
Eclipseで次のエラー箇所にジャ...
-
JBossについて
-
JSPの表示時エラー
-
「型 ArrayList は総称ではあり...
-
Win32コンソールアプリでnamesp...
-
Eclipseの環境について
-
致命的: StandardServer.await:...
-
javaw.exeプロセスが正常起動し...
-
getParameterについて
-
JSP内でString型からint型に変...
おすすめ情報