如何在javascript中动态获取jsp中arraylist中每一个元素中的值呢?
<% ArrayList <AgentDelegate> a = (ArrayList <AgentDelegate> )menuMgr.getNameMenu();
//这里获取到arraylist a的内容
%>
<script language= "javascript ">
<!--
function dspl(msg,bgcolor,dtop,delft){
this.msg=msg;
this.bgcolor=bgcolor;
this.dtop=dtop;
this.dleft=delft;
}
var link=new Array();
for(int i=0;i < <%=a.size()%> ;i++)
{
link[i]=new dspl( ' <%a.get(i).getIP()%> ', 'lightyellow ',60,500)
}//我想在这里把ArrayList数组中的每条信息放在link[i]数组中,但是报错,有没有什么办法。
-->
</script>
------解决方案--------------------这个循环需要写在服务端脚本块中。
------解决方案--------------------for(int i=0;i < <%=a.size()%> ;i++)
{
out.println( "link[i]=new dspl( ' "+a.get(i).getIP()+ " ', 'lightyellow ',60,500) ");
}
------解决方案-------------------- <%
Array link = new Array();
for(int i=0;i <a.size();i++)
{
link.add(a.get(i));
}
%>
------解决方案--------------------有必要在javascript中迭代吗?
用JSP中的 <c:forEach> 标签不是很好的吗?
------解决方案--------------------变通一下,动态生成js.
用out.println()
------解决方案--------------------把jsp和js混在一起会有这样的问题
我的经验,jsp一般情况下执行结果都是文本String,javascript是这个结果的一部分,因此你可以在jsp里面动态生成js Array的元素,但是js已经和jsp没有关系了
------解决方案--------------------你在js中用jsp把arrayList循环一下不就行了吗?
------解决方案--------------------link[i]=new dspl( ' <%a.get(i).getIP()%> ', 'lightyellow ',60,500)
------------------------
link[i]=new dspl( ' <%=a.get(i).getIP()%> ', 'lightyellow ',60,500)
少个等号