2012-02-21 5 views
0

私はjspファイルにフォームを用意しています。これはユーザーの詳細を取得するために使用しました。 [送信]ボタンをクリックすると、フォームアクションは詳細がデータベースに挿入される別のjspファイルに設定されます。 しかし、その前に、ユーザーがユーザーIDを入力するとすぐに、利用可能なチェック・ボタンがあります。 ボタンをクリックすると、コントロールがユーザ名とともにパラメータとして別のJSPページに移動します。そこに私は可用性をチェックしています。私は前のjspファイルに応答を返したいと思います。 これは、 'ディスパッチャのリクエスト'を使用して行うことができます。可能であれば、誰かがリクエストディスパッチャのインクルードメソッドとフォワードメソッドを説明することができます。私はネット上でそれを検索しようとしました。利用可能なコードのみがあります。このリクエストディスパッチャーがどのようなもので、どのように動作するのかを知りたい。ディスパッチャをフォームでリクエストする

答えて

1

要求ディスパッチャは、要求を指定されたターゲットにディスパッチします。リクエストディスパッチャは、基本的にコントロールを指定されたターゲットに渡します。 JSPの場合、JSPは指定された要求を処理し、その出力を指定された応答に送信します。

include()メソッドを使用すると、コントロールが戻った後でもレスポンスを使用できるようになります。必要に応じてデータを追加できます。含まれているターゲットは、応答ヘッダーを操作することはできません。 include()のターゲットは、最終応答の一部である必要があります。 forward()メソッドを使用すると、コントロールを指定されたターゲットに完全に渡すことができます。転送されたターゲットは、応答ヘッダーを操作できます。 forward()のターゲットは、全体の JSPファイルそのものでなければなりません(ただし、他のJSPを含めることもできます)。

この場合、フォワードを送信する必要があります。ああ、この種の仕事はJSPではなく、Servletです。そうでなければ、IllegalStateExceptionに直面する可能性があります。要求を転送しようとしているJSPがすでに応答に何らかのデータを送信している場合です。

+0

したがって、ユーザーが「利用可能在庫確認」ボタンをクリックしたときに、利用可能な方法を確認するためにインクルードメソッドを使用できます。同じページ(元のページ)に出力(「ユーザー名」または「利用できません」)が表示されます。 – Ashwin

+0

また、それは簡単ではありませんが、条件付きで含めるには、まだそれをJSTL「」にラップする必要があります。私はELでメッセージを印刷するだけです。リクエスト属性が存在するときに表示されます。それ以外の場合は、何も表示されません。同様に ' $ {message}' – BalusC

関連する問題