私はストラット1.3.8を使用しています。JSPには検索機能があります。ユーザーが検索ボタンを押すと、結果がレコードの形式で表示されます。
結果のレコードを検索ボタンの下の同じ検索ページに表示するにはどうすればよいですか?? すぐに返信してください.. 前もって感謝します
,
Laxman Chowdary
質問する
2285 次
2 に答える
2
次の 2 つのオプションがあります。
- フォーム自体を送信し、同じ検索フォームを使用してページを生成し、ユーザーが送信した内容とフォームの後に検索結果を事前に入力します。これは典型的な「Web 1.0」のやり方であり、Struts フォーム フィールドはこのタスクに適しています。
- JavaScript を使用して、フォームが送信されたときに AJAX 要求をサーバーに送信し、検索結果のみを含む部分ページをサーバーに生成させます。AJAX 応答ハンドラーで、検索結果をページの DOM ツリーに挿入します。サーバーは、たとえば JSON を使用して生の検索結果 (つまり、HTML 形式ではない) で応答することもでき、JavaScript 応答ハンドラーは結果を繰り返し処理し、DOM に適切な HTML 要素を動的に作成します。
編集:
最初の方法を詳しく説明するには、同じ ActionForm (検索フォーム フィールドを含む) を使用する 2 つのアクション (showSearchForm
とexecuteSearch
) を用意します。
最初のアクションは、フォームにデフォルトの検索値を入力し、フォームと結果を表示する JSP にディスパッチするだけです。表示する結果がないため、検索フォームのみを表示します。
2 番目のアクションは、フォームを検証し、検索を実行し、検索結果をリクエスト属性または ActionForm に直接格納してから、最初のアクションと同じ JSP にディスパッチします。今度は、JSP が表示する結果を見つけて表示します。
于 2012-04-30T13:20:10.940 に答える
0
Ajaxを使用します。
jQueryでやったら
jQuery.ajax(
url: getSomething,
datatype: "JSON",
success:function(data){
//parse and call add new records in the table
});
または
再びAjaxを使用します。ストラットでは、取得したレコードをセッションに配置すると言います。
次に、ロジックを持っているか、セッション属性を読み取ってhtmlテーブルを作成する別のjspがあり、そのページを返すだけです。データはすでにセッションにあるため、jspにデータが入力されます。したがって、ajax呼び出しは次のようになります。
jQuery.ajax(
url: getSomething,
success:function(data){
jQuery('#IdOfElementWhereTheHTMLTableNeedsToBeAdded').append(data);
});
于 2012-04-30T13:23:17.490 に答える