0

私は物事が今どのように機能するか、そして私が達成したいことを説明します:

テキストボックスと送信ボタンがある基本的なHTMLページがあります。文字列を入力してボタンをクリックすると、このリクエストはサーブレットに到達します。サーブレットは何かを実行してから、req&respをjspファイルにリダイレクトします(getServletContext().getRequestDispatcher("myJSP.jsp").forward(req, resp);

したがって、基本的に、誰かがテキストボックスに何かを入力して[送信]ボタンをクリックすると、myJSP.jspファイルによって生成された新しいページが表示されます。

代わりに、完全に新しいファイルを取得して、myJSP.jspが生成する結果を同じメインページ、たとえばテキストボックスの下(DIVタグ内)に表示​​する方法はありますか?

どうすればそのような動作を実現できますか?

4

2 に答える 2

2

ユーザーがページをリロードしないように、JavaScriptを使用して非同期リクエストを実行する必要があります。サーバーは応答を返す必要があり、JavaScriptを使用してページに追加できます。

この手法はajaxと呼ばれます。ajaxリクエストを実行するための人気のあるツール(他の多くの方法を除く)はajax() 、JQuery javascriptライブラリ(ドキュメント)の機能です。

于 2012-12-08T14:28:30.633 に答える
1

jquery $ .ajax()関数を実行してみてください。最初に、jquery.jsをダウンロードし、プロジェクトフォルダーに保存して見つけます。以下のように従ってください:

<head>
 <script src="../resources/jquery.js"></script> <script src="../resources/jquery.js"></script>
</head>

<body>
   <input type="text"><input class="button" type="button" value="Click">
<div></div>
<script>
    $(".button").click(function () {
        $.ajax({
              url: "ajax.html",
              cache: false
            }).done(function( html ) {
              $("div").append(html);
            });
        });
</script>
</body>
于 2012-12-08T14:54:07.633 に答える