1

私はストラット1.3.8を使用しています。JSPには検索機能があります。ユーザーが検索ボタンを押すと、結果がレコードの形式で表示されます。
結果のレコードを検索ボタンの下の同じ検索ページに表示するにはどうすればよいですか?? すぐに返信してください.. 前もって感謝します
,
Laxman Chowdary

4

2 に答える 2

2

次の 2 つのオプションがあります。

  1. フォーム自体を送信し、同じ検索フォームを使用してページを生成し、ユーザーが送信した内容とフォームの後に検索結果を事前に入力します。これは典型的な「Web 1.0」のやり方であり、Struts フォーム フィールドはこのタスクに適しています。
  2. JavaScript を使用して、フォームが送信されたときに AJAX 要求をサーバーに送信し、検索結果のみを含む部分ページをサーバーに生成させます。AJAX 応答ハンドラーで、検索結果をページの DOM ツリーに挿入します。サーバーは、たとえば JSON を使用して生の検索結果 (つまり、HTML 形式ではない) で応答することもでき、JavaScript 応答ハンドラーは結果を繰り返し処理し、DOM に適切な HTML 要素を動的に作成します。

編集:

最初の方法を詳しく説明するには、同じ ActionForm (検索フォーム フィールドを含む) を使用する 2 つのアクション (showSearchFormexecuteSearch) を用意します。

最初のアクションは、フォームにデフォルトの検索値を入力し、フォームと結果を表示する 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 に答える