如何从javascript访问java.util.List会话?

时间:2013-07-03 10:51:42

标签: java javascript session

在java中我的代码是,

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

我想在javascript中访问此列表,

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

我没有在javascript中获取列表(abcList)值......

4 个答案:

答案 0 :(得分:1)

您需要将列表序列化为Javascript对象。有些库可以帮助您:https://stackoverflow.com/questions/338586/a-better-java-json-library

答案 1 :(得分:0)

您必须编写将列表打印为javascript数组的代码。这可能只会导致

var myVariable='ArrayList@123455'

但你需要的是

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

使用json序列化库。那些为你做印刷。或者写一个json打印机,它实际上很直接^^。

答案 2 :(得分:0)

你做不到。您必须通过迭代Java List来创建列表。你可以试试这样的......

var myVar = [];
<%
List list = (List)session.getAttribute("abc");
for(int i = 0; i < list.size(); ++i){
    out.println("myVar.push('" + list[i] + "');");
}
%>

答案 3 :(得分:0)

究竟想要实现什么? 记住javascript将在客户端浏览器上执行,其中java代码将在服务器上。所以你不应该从javascript引用java变量。相反,使用jsp标记只能在服务器上的加载时获取列表。