- ベストアンサー
JSP/サーブレットで一般的な入力チェックの仕組みとは?
- JSP/サーブレットでWebシステムを作る際に、入力チェックの仕組みについて知りたいです。特にJavaScriptを使わずに実現する方法があれば教えてください。
- JSP/サーブレットでの入力チェックの仕組みについて、画面表示、エラーメッセージ表示、エラー項目の装飾について解説します。
- JSP/サーブレットでの入力チェックでは、JavaScriptを使わずに画面表示やエラーメッセージの表示、エラー項目の装飾を行うことができます。具体的な方法について詳しく解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
JSPを使っているならできると思うけど。 ・画面の入力内容はそのまま ・メッセージ領域にエラーメッセージを表示 ・エラーがあった項目を赤くする どれもHTMLの加工の問題でしょう? Servletがリクエストを受け取る →入力チェック →エラーがあったら前の画面のJSPを表示する →JSP表示の際に、入力された内容をHTMLにセットする →メッセージ領域にえらーメッセージを表示する →ついでにエラー項目も赤くする 全部JSPでできる内容よね。 一般的なつくりとしては まず、その画面の入力項目に対応したBeanを用意する。 Servletがリクエストを受け取り、リクスエトを解析しBeanに格納する。 Beanをその画面用のチェッククラスで入力チェックする。 エラーがなければ次画面を、エラーがあれば呼び出し元画面のJSPを要求。 エラーがあった場合、エラーメッセージをセッションなりリクエストなりに格納。 JSP表示時にBeanに格納されている内容を出力。 エラーメッセージが格納されていればそれを出力。 こんな感じね。 赤くするのはBeanについでにフラグを持たせておけば JSPで判断できるんじゃない?
その他の回答 (2)
- Hohenheim
- ベストアンサー率18% (43/237)
>このようなことをなくしたく、エラーメッセージのみ表示させ、もともと入力していた内容や、表示されていた内容はそのままにしたいのです。 それでしたら、定石通りJavaScriptを使うべきかと存じます。 なぜ使ってはいけないのですか?
- Hohenheim
- ベストアンサー率18% (43/237)
「画面の入力内容はそのまま」の解釈によるのですが、ページ切り替えが起きても前のページと同じものが表示されていればよいのでしたら、サーブレット側で入力チェックを行えばできます。 その際、フォーム内データなど、可変変数についてはいったんサーブレット側で引き取り、再度JSPで表示してやる必要があります。ただ、この処理は無駄なトラフィックが発生するので、JavaScriptを使う方が付加が少ないと言えます。
お礼
ご返答ありがとうございます。 サーブレット側で入力チェックをするやり方をとっては見たのですが、エラーメッセージ等の結果を表示 するためのよい方法は思いつかず質問した次第です。 今行っている実装としては、サーブレット側で入力チェックを行い、エラーがあった場合、Exceptionを スローし、JSPへフォワードさせるやり方をしています。 この場合、「画面の入力内容はそのまま」ということで質問しておりますが、 エラーメッセージを表示するに当たり、JSPを再表示させると、当然結果も再取得することになります。 このようなことをなくしたく、エラーメッセージのみ表示させ、もともと入力していた内容や、表示されていた内容はそのままにしたいのです。 宜しくお願いします。
お礼
>なぜ使ってはいけないのですか? 個人的に使いたくないな、と思っているだけです。 JavaScriptが定石になってしまうのですね。ありがとうございます。 ちなみにJavaScriptだとAjaxになってしまうのでしょうか。 他にはちょっと思いつかないのですが。。。