在java中我的代码是,
List abcList;
request.getSession().setAttribute("abc", abcList);
我想在javascript中访问此列表,
var myVariable='<%=(List)session.getAttribute("abc")%>';
我没有在javascript中获取列表(abcList)值......
答案 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标记只能在服务器上的加载时获取列表。