请问如何在js中遍历jsp页面里的java代码(如List<xxx>),程序代码如下

请问如何在js中遍历jsp页面里的java代码(如List<xxx>),程序代码如下,第1张

js肯定是不能直接 *** 作java的list啊,你可以把list循环成一个json格式的字符串如:

String str="";

for(int i=0;i<list2size();i++){

str+=("{id:'"+list2get(i)getId()+"',pid:'"+list2get(i)getparentId()+"'},");

}

if(strlength()>0){

str="["+strsubstring(0,strlength()-1)+"]";

}

然后js里面这样var list='<%=str %>';

list=new Function("return "+ list)();

这样后list就是个和java中list差不多的对象数组了

list[i]id等价于java的list2get(i)getId()

解决思路:将List转成json,传到界面。js中使用vararr=eval(‘${list}');将list转成js数组。参考代码如下:varkeyList=eval('${keysList}');varvalues=$("#paramsValues")val();varnoSet=[];for(vari=0;i<keyListlength;i++){if(valuesindexOf(keyList[i])==-1){noSetpush(keyList[i]);}}

function queryArea() {

return false;

$("#areaId")empty();

$("<option value='-1'>未选区域</option>")appendTo($("#areaId"));

$ajax({url:"clazz-servicejspaction=getAreaList",data:$("#infoForm")serialize(),type:"post",

complete:function(text) {

var obj = eval("("+textresponseText+")");

if(objflag == "ok") {

//$("#areaId")empty();

var i = 0;

$each(objdata, function(index) {

$("<option value='"+objdata[index]id+"'>"+objdata[index]name+"</option>")appendTo($("#areaId"));

i++;

});

} else {

//setTimeout(function() {

//}, 2000);

}

}

});

}

JSP

public void getAreaList(>

jsp里的java代码是在服务器上执行的,而js是在客户端执行的。执行顺序是先进行java执行后发给客户端再运行js,所以同一个页面里的java代码是获取不到js变量的,那个时候js都还没执行,js内存都没分配呢,就不会js变量的。

以上就是关于请问如何在js中遍历jsp页面里的java代码(如List<xxx>),程序代码如下全部的内容,包括:请问如何在js中遍历jsp页面里的java代码(如List<xxx>),程序代码如下、js中获取java文件传过来的list对象列表、如何从js代码中读取传入的一个java对象的属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10160079.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存