JSP/サーブレットで一般的な入力チェックの仕組みについて
いつもお世話になります。
JSP/サーブレットでWebシステムを作っています。
特別なフレームワークは使っておらず、素のJavaだけで作っているのですが、JSP/サーブレットでWebシステムを開発する場合で、入力チェックでエラーがあった場合、
下記のような動作を実現したいのですが、一般的にはどのような作りになるのでしょうか。
・画面の入力内容はそのまま
・メッセージ領域にエラーメッセージを表示
・エラーがあった項目を赤くする
これらはJavaScriptでしか実現する方法は無いように思っていますが、できればJavaScriptは
使用しない方向で、最悪3番目はできなくてもよいです。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
JSPを使っているならできると思うけど。
・画面の入力内容はそのまま
・メッセージ領域にエラーメッセージを表示
・エラーがあった項目を赤くする
どれもHTMLの加工の問題でしょう?
Servletがリクエストを受け取る
→入力チェック
→エラーがあったら前の画面のJSPを表示する
→JSP表示の際に、入力された内容をHTMLにセットする
→メッセージ領域にえらーメッセージを表示する
→ついでにエラー項目も赤くする
全部JSPでできる内容よね。
一般的なつくりとしては
まず、その画面の入力項目に対応したBeanを用意する。
Servletがリクエストを受け取り、リクスエトを解析しBeanに格納する。
Beanをその画面用のチェッククラスで入力チェックする。
エラーがなければ次画面を、エラーがあれば呼び出し元画面のJSPを要求。
エラーがあった場合、エラーメッセージをセッションなりリクエストなりに格納。
JSP表示時にBeanに格納されている内容を出力。
エラーメッセージが格納されていればそれを出力。
こんな感じね。
赤くするのはBeanについでにフラグを持たせておけば
JSPで判断できるんじゃない?
No.2
- 回答日時:
>このようなことをなくしたく、エラーメッセージのみ表示させ、もともと入力していた内容や、表示されていた内容はそのままにしたいのです。
それでしたら、定石通りJavaScriptを使うべきかと存じます。
なぜ使ってはいけないのですか?
>なぜ使ってはいけないのですか?
個人的に使いたくないな、と思っているだけです。
JavaScriptが定石になってしまうのですね。ありがとうございます。
ちなみにJavaScriptだとAjaxになってしまうのでしょうか。
他にはちょっと思いつかないのですが。。。
No.1
- 回答日時:
「画面の入力内容はそのまま」の解釈によるのですが、ページ切り替えが起きても前のページと同じものが表示されていればよいのでしたら、サーブレット側で入力チェックを行えばできます。
その際、フォーム内データなど、可変変数についてはいったんサーブレット側で引き取り、再度JSPで表示してやる必要があります。ただ、この処理は無駄なトラフィックが発生するので、JavaScriptを使う方が付加が少ないと言えます。
ご返答ありがとうございます。
サーブレット側で入力チェックをするやり方をとっては見たのですが、エラーメッセージ等の結果を表示
するためのよい方法は思いつかず質問した次第です。
今行っている実装としては、サーブレット側で入力チェックを行い、エラーがあった場合、Exceptionを
スローし、JSPへフォワードさせるやり方をしています。
この場合、「画面の入力内容はそのまま」ということで質問しておりますが、
エラーメッセージを表示するに当たり、JSPを再表示させると、当然結果も再取得することになります。
このようなことをなくしたく、エラーメッセージのみ表示させ、もともと入力していた内容や、表示されていた内容はそのままにしたいのです。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- UNIX・Linux bash環境でのエラー対応をお願い致します。 1 2022/11/26 17:41
- Windows 10 WIN10(MAC-bootcamp)で 起動時のパスWが どうにもならない 2 2023/06/30 11:40
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- IT・エンジニアリング SEとWebエンジニアの業務内容の違いについて 3 2023/06/22 23:23
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
送信ボタン押下時に値が未入力だとエラーにしたい
HTML・CSS
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
-
4
入力チェックとエラーメッセージの表示
Java
-
5
getParameterで値が取得できず、困ってます
HTML・CSS
-
6
JSPでのArrayListの表示について困っています
Java
-
7
JSPのNULLレコード表示について教えて下さい。
Java
-
8
Eclipseのアンインストールの仕方
Java
-
9
jspにcssを反映させるには
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
jspのファイルでエラーが出る
-
JSP内でString型からint型に変...
-
JBossについて
-
JSPのIF文を教えて下さい
-
Transformのエラー
-
eclipseをバージョンアップした...
-
eclipseでのsvn認証エラー回避方法
-
javaでEnumerationを使いたいの...
-
Javaのエラーについてです
-
Java エスケープ文字
-
重複jarの調査の仕方
-
java.lang.StackOverflowErrort...
-
String型とchar型の変換エラーです
-
Buttonを配列とすることができ...
-
タグが閉じてないというエラー...
-
JSPで意味不明のコンパイルエラー
-
jmapコマンドでメモリ不足のエラー
-
Eclipse デバッグ エラー処理
マンスリーランキングこのカテゴリの人気マンスリー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型に変...
おすすめ情報