1

Javaで私のコードは、

List abcList;   
request.getSession().setAttribute("abc", abcList);

このリストにJavaScriptでアクセスしたいのですが、

var myVariable='<%=(List)session.getAttribute("abc")%>';

javascriptでlist(abcList)値を取得していません......

4

4 に答える 4

1

リストを Javascript オブジェクトにシリアル化する必要があります。あなたのためにそれを行うライブラリがあります:https://stackoverflow.com/questions/338586/a-better-java-json-library

于 2013-07-03T10:56:25.760 に答える
0

リストを JavaScript 配列として出力するコードを記述する必要があります。これはおそらく次の結果になります

var myVariable='ArrayList@123455'

しかし、あなたが必要とするのは

var myVariable = ["element1", "element2, ...]

json シリアル化ライブラリを使用します。それらはあなたのために印刷を行います。または、json プリンターを作成します。実際には非常に簡単です ^^。

于 2013-07-03T10:56:24.847 に答える
0

そんなことはできません。Java リストを繰り返し処理してリストを作成する必要があります。このようなものを試すことができます...

var myVar = [];
<%
List list = (List)session.getAttribute("abc");
for(int i = 0; i < list.size(); ++i){
    out.println("myVar.push('" + list[i] + "');");
}
%>
于 2013-07-03T10:56:53.023 に答える
0

正確に何を達成したいですか?javascript はクライアント ブラウザで実行されますが、Java コードはサーバー上にあることに注意してください。したがって、javascript から Java 変数を参照しないでください。jsp タグを使用する代わりに、サーバーへのロード時にのみリストを取得できます。

于 2013-07-03T10:59:21.850 に答える