1

javascriptを使用してJava変数の値を変更するにはどうすればよいですか?

Javaサーブレットで変数を宣言したとint x=0; したら、サーブレットの任意のボタンのonclickイベントでその値を1に変更したいのですが、どうすればよいですか?

ありがとう

4

7 に答える 7

2

ノート!複数のスレッド (複数のユーザー) で使用される可能性があるため、サーブレット内で状態を保持しないでください。このような値は、Sessionオブジェクトまたは何らかのバックエンド (データベースなど) に格納する必要があります。

質問に戻ります。ブラウザの JavaScript コードは、サーバー上で実行されている Java コードを直接操作することはできません。ただし、clickイベント ハンドラーをボタンにバインドし、サーブレットに対して AJAX 呼び出しを実行して、この値を増やすことができます。JQuery でそれを行う方法の例については、この回答を参照してください。

于 2012-06-22T09:13:52.353 に答える
1

Java 変数の値を JavaScript から変更できません。

ただし、Java コードを使用して、Java スクリプト変数の値を変更できます。

于 2012-06-22T09:15:10.983 に答える
1

いいえ、サーバーでリクエストを送信せずにそれを行うことはできません。リクエストを送信する準備ができている場合は、<input>値に変数値を割り当ててリクエストで送信するAjaxか、JavaScript で送信することができます。

于 2012-06-22T09:16:16.567 に答える
1

JavaScriptクライアント側Servletsで実行され、サーバー側でJava実行されます。

どちらも環境が違います。サーバー側オブジェクトの状態を から変更したい場合は、JavaScriptを通じて行う必要がありますAJAX

質問: Java サーブレットで int x=0; のような変数を宣言したとします。だから今、サーブレットの任意のボタンの onclick イベントでその値を 1 に変更したいのですが、どうすればそれを行うことができますか?

回答:サーブレットに変数を含めるべきではありません。Servlets are not Thread Safe.セッションとして保存される可能性のあるクライアントの状態を変更したいだけだと思う​​からです。

于 2012-06-22T09:37:41.650 に答える
1

javascript を使用して Java 変数を変更することはできませんが、その逆は可能です。Javascript はクライアント側で、jsp ページの Java コードはサーバー側で実行されます

于 2012-06-22T09:09:37.807 に答える
0

javascript を直接使用して java 変数の値を変更することはできません。あなたができることは、隠しファイルを入れてリクエストパラメータのjavascript変数を取得するか、それをurlに渡してから、`rwquest.getParameter("field")を使って値を取得することです。

Javascript runs on client browser so you can't get it directly.

于 2012-06-22T09:17:22.830 に答える
0

なんでそんなことできないってみんな言ってるのか理解できない

もちろんできます。JavaScript でリモート API を使用して、JavaScript から Java メソッドを何度も呼び出しました。たとえば Seam を使用する場合、次のように実行できます: http://docs.jboss.com/seam/latest/reference/en-US/html/remoting.html

ここで、OP は、使用したいフレームワーク、または OP に最適なリモーティング テクノロジを見つける必要があります。

たとえば、int をパラメーターとして受け取る Java メソッドを呼び出し、その値を変数に適用します。

于 2012-06-22T09:36:48.610 に答える