在java中,我的代码是,
List abcList;
request.getSession().setAttribute("abc", abcList);
我想用 javascript 访问这个列表,
var myVariable='<%=(List)session.getAttribute("abc")%>';
我没有在 javascript 中获取 list(abcList) 值......
在java中,我的代码是,
List abcList;
request.getSession().setAttribute("abc", abcList);
我想用 javascript 访问这个列表,
var myVariable='<%=(List)session.getAttribute("abc")%>';
我没有在 javascript 中获取 list(abcList) 值......
您需要将列表序列化为 Javascript 对象。有一些图书馆可以为你做这件事:https ://stackoverflow.com/questions/338586/a-better-java-json-library
您必须编写将列表打印为 javascript 数组的代码。这可能只是导致
var myVariable='ArrayList@123455'
但你需要的是
var myVariable = ["element1", "element2, ...]
使用 json 序列化库。那些为你打印的。或者写个json打印机,其实挺直接的^^。
你不能那样做。您必须通过迭代 Java 列表来创建列表。你可以试试这样的...
var myVar = [];
<%
List list = (List)session.getAttribute("abc");
for(int i = 0; i < list.size(); ++i){
out.println("myVar.push('" + list[i] + "');");
}
%>
究竟想达到什么目的?请记住,javascript 将在客户端浏览器上执行,而 java 代码将在服务器上。所以你不应该从 javascript 中引用 java 变量。相反,使用 jsp 标签,您只能在服务器上的加载时间获取列表。