2

誰かが私のjspコードの単純な問題を解決するのを手伝ってくれますか?これがJavaScriptを使った私のjspページです

function fid()
{
    var id=document.getElementById("id").value;
    alert(id);
    <%
             String demo=id;             // store id value of java script but not working
             or find(id);                // or call a function with parameter of java script var value
                                       // both are not working
     %>
}

これが私のhtmlページです-

Enter Student Id<input type='text' id='id'><button type='button' onclick='fid()'>Find</button>

jsp関数でjs値を渡すにはどうすればよいですか。
私はajaxまたはjqueryでこれを実行できることを知っていますが、これらの言語を知りません。提案やコードスニペットは大歓迎です。

4

5 に答える 5

1

サーバー側とクライアント側

サーバーがユーザー入力に応答できるようにするには、リクエストを送信する必要があります。次の 2 つの方法のいずれかで、サーバーが応答を送信できるように要求できます。

  1. 完全に新しいページ - リンクがクリックされ、新しい HTML ページが読み込まれたときなど
  2. AJAX 応答 - 非同期で実行し、クライアント側の JavaScript で使用できるように、必要に応じてフォーマットします。

ただし、サーバーは既存のページの DOM を単独で操作することはできません。AJAX を使用する場合でも、ページを操作するためにクライアント側に何らかのコード (通常は JavaScript) が必要です。

通常、検索を行う場合は、オプション 1 をお勧めします。これには、よりシンプルであるという利点があり、ユーザーは検索を前後に移動したり、ブックマークしたりできます (POST に対して GET 呼び出しを行うと仮定します)。AJAX を使用する場合と使用しない場合を確認する

AJAX の使用

AJAXを使用する場合は、サーバーを呼び出してxmlhttpオブジェクトを作成してから、AJAXを使用してのみ言及された@A4Lとして変数を渡すことができます。次のようになります。

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    // Do what you want with the results from your server
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
var xmlhttp = new XMLHttpRequest();

xmlhttp.open("GET",'myJSP.jsp/?id=' + id,true);
xmlhttp.send();

次に、サーバーは @A4L のようなパラメーターを取り込むことができます。応答を単純なテキストにするか、JavaScript が DIV 内に配置できる HTML ブロックにしたい場合がありますが、それはすべてあなた次第です。

免責事項: 私は AJAX の専門家ではありません。これらのほとんどは、 W3 Schools サイトから学べるものです。

于 2014-12-04T22:14:21.890 に答える
0

Java scriptサーバー側で実行されますClient sideJSP

したがって、ここのようないくつかの隠れた変数を使用してください

于 2013-02-26T16:05:02.423 に答える
0

JavaScript の値はクライアント側であり、スクリプトレットはサーバー側で実行されています。そのため、スクリプトレットで JavaScript 変数を使用する場合は、それらを送信する必要があります。

これを実現するには、それらを入力フィールドに保存してフォームを送信するか、ajax リクエストを実行します。これについては、JQueryを調べることをお勧めします。

于 2013-02-26T15:49:52.027 に答える
0

Java スクリプトはクライアントで実行され、JSP はサーバーで実行されます。JS 変数をサーバーに送信して JSP からアクセスできるようにする場合は、次のようなものを使用して JSP にリクエスト パラメータとして送信するvar url = 'myJSP.jsp/?id=' + id必要があります。request.getParameter("id")

于 2013-02-26T15:48:26.240 に答える