
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
エラー:org.springframeworkが...
-
DataSetのFilter
-
JSON形式でsocket通信するには
-
正規表現で入力チェックするには。
-
タグが閉じてないというエラー...
-
構文エラーのやり直しについて
-
JSFのmessagesタグによる、エラ...
-
コンパイル時にエラーが出てし...
-
(急募)Java 3回間違えたら強...
-
classファイルについて
-
「ワークスペースをビルド中」...
-
Eclipse・プロジェクトで、フォ...
-
正しいURL指定しているにもかか...
-
コミット前の更新データをチェ...
-
SVFの設定について:クラスパス...
-
html上で、バッチやexeファイル...
-
eclipseで1ファイルの警告を100...
-
MSDNのコレクションがありませ...
-
eclipseでスタックサイズを変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
eclipseをバージョンアップした...
-
tomcat起動時エラー
-
コンパイル時にエラーが出てし...
-
エラー:org.springframeworkが...
-
eclipseでのsvn認証エラー回避方法
-
JSP内でString型からint型に変...
-
構文エラーのやり直しについて
-
タグが閉じてないというエラー...
-
Javaのエラーについてです
-
Eclipse デバッグ エラー処理
-
Eclipseで次のエラー箇所にジャ...
-
致命的: StandardServer.await:...
-
DataSetのFilter
-
java eclipse apache tomcat 9....
-
「型 ArrayList は総称ではあり...
-
eclipseで「Fatal exception oc...
-
シンボルが見つかりませんとい...
-
Hot code replace failed ?
-
eclipseのエラーについて質問で...
おすすめ情報