1

重複の可能性:
JavaScriptでのJSP変数アクセス

jspページにjava変数とjavascriptがあります。

<% int max=70; %>

スクリプトから変数を取得するにはどうすればよいですか?

var x = ???

document.getElementById()を試しましたが、HTML要素ではないため、残念ながら機能しなかったようです。

これは私のエラーです:

JSP用のクラスをコンパイルできません:

An error occurred at line: 13 in the jsp file: /search.jsp
max cannot be resolved
10:     function validateForm() {
11:         var x=document.forms["search"]["capacity"].value;
12:         var y=document.forms["search"]["date"].value;
13:         var m=<%=max%>;
14:         if (isNaN(x)) {
15:             alert("Capacity must be an Integer");
16:             return false;
4

1 に答える 1

6

JSP は HTML コード プロデューサーです。JS は HTML の一部です。

それに応じてJSPにJS変数を出力させるだけです。

var x = <%=max%>;

ブラウザーでページを開き、右クリックしてソースを表示し、JSP で生成された HTML/JS 構文が適切かどうかを確認します。

以下も参照してください。


具体的な問題とは関係ありませんが、スクリプトレットの使用は 10 年前から推奨されていないと考えられています。正しい方法については、JSP ファイルで Java コードを回避する方法をよくお読みください。それが EL スコープで利用可能であると仮定するとmax、次のように出力できます。

var x = ${max};
于 2012-10-12T11:24:06.713 に答える