1
var result = null;

function setSendButton(userInput){
   var clicked=userInput;
   result = "<%=mb.myMethod(clicked)%>";
}

ここmyMethodで、jsp タグを使用して呼び出される Java メソッドです。次のように定義されます。

public boolean myMethod(String isClicked){
  if(isClicked.equals("true")){
     return true;
  }else{
     return false;
  }
}

何らかの理由でステッピングするとvar clicked、「true」の値が渡されずclicked、JSP コンパイル中に次のように文字列になるコードをコンパイルする JSP コンパイル エラーが発生しましmb.myMethod(clicked)た。mb.myMethod("true")

4

2 に答える 2

1

そのようには機能しません。JSP の Java コードは、クライアントのブラウザに送信する前に、サーバー側で変換およびコンパイルされます。javascript 変数は、JSP が変換およびコンパイルされて HTML ファイルになり、クライアント ブラウザに送信された後にのみ使用できます。その時点でmb.myMethod、サーバー側ではすでに The が実行されています。

つまり、java コードを js 割り当てに渡すことはできますが、その逆はできません。

于 2012-09-21T15:01:28.720 に答える
0

これはうまくいきませんか?

var result = null;

function setSendButton(){
   result = "<%=mb.myMethod(true)%>";
}
于 2012-09-21T14:52:40.657 に答える