2012-04-17 14 views
0

jspとサーブレットを使用してこのWebアプリケーションを開発しています。私はリクエストが行われたときと同じページに結果を表示する方法を知りました。たとえば、通常はリクエストが1つのJSPからサーブレットに送信され、次にサーブレットが応答/結果を別のJSPに送信するということです。私は同じページにデータベースの結果を表示したいと思います。どのようにこれを行うことができますか?コードスニペットをいただければ幸いです。ありがとうjsp-servletsのリクエストページと同じページに結果を表示する方法

+1

Jabascriptを使用すると、Ajaxリクエストをサーブレットに送信し、レスポンスを取得して同じページに結果を表示できます。 – dragon66

答えて

2

リクエストスコープで必要なデータを設定し、RequestDispatcher#forward()を使用してコントロールを目的のJSPに転送するだけで、結果に基づいて適切なHTMLを生成できます。

request.setAttribute("results", results); 
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response); 

これもour servlets wiki pageでハロー世界の例で実証されています。

0

サーブレットから、同じページにリダイレクトを送信します。また、リクエストでいくつかの属性を設定し、ページに表示します(例:要求に応じてList<MyObject>を保存し、次にあなたのJSPで要求からリストを読み取り、値をテーブルに表示します。

+0

セッションスコープは、リクエストスコープのデータを保持する正しいスコープではありません。 – BalusC

2

これは完全に可能ですが、JavaScriptをツールセットに組み込む必要があります。私が示唆していることは、アプリケーション内のAJAXアプローチであり、クライアント側のスクリプト(JavaScriptなど)を集中的に使用することを意味します。

This tutorial(DeveloperWorksから)は、JavaScript /サーブレットの純粋なアプローチです。より高度な作業をしたい場合は、JQueryのようなAJAXサポートのJavaScriptフレームワークを使用することを強くお勧めします。

+0

これは絶対に難しいことではありません。それはajaxを使うときよりも簡単です。 – BalusC

+1

簡単で難しいです。私は客観的なままにする形容詞を削除します –

関連する問題