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

<%List<Treebean>list2=newArrayList<Treebean>();Treebeantb=newTreebean();TreeInfoti=ne... <%
List <Treebean> list2 = new ArrayList<Treebean>();
Treebean tb = new Treebean();
TreeInfo ti = new TreeInfo();
list2=ti.getTree();
//怎么把list在js中遍历并取值呢??

%>
<script type="text/javascript">
d = new dtree('d');

d.add()
d.add(0,-1,'审计系统');
d.add(1,0,'项目第一部分');
d.add(2,1,'信息添加','index.jsp');
d.add(3,1,'信息查询','index.jsp');

</script>

我想把LIST2这个集合在js中 for循环{d.add(list2.get(i).getId(), list2.get(i).getparentId()....)}这样
最后问一下 d = new dTree('d'); 这里面‘d’ 是定义什么东西啊 为啥我这说 ‘d’ 未定义 ,后来看他说是‘dtree’未定义????
代码如下
<div class="dtree">
<p><a href="javascript: d.openAll();">全部展开</a> | <a href="javascript: d.closeAll();">全部收缩</a></p>
<script type="text/javascript">

d = new dtree('d');
<%
int size = list2.size();

for(int i=0;i<size;i++){%>
tb=list2.get(i);
d.add(<%=tb.getId()%>,<%=tb.getPid()%>,'<%=tb.getName()%>','<%=tb.getUrl()%>');
<% }%>
document.write(d);
</script>
</div>
展开
 我来答
濮焮戎fO
2012-05-17 · TA获得超过371个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:490万
展开全部
js肯定是不能直接操作java的list啊,你可以把list循环成一个json格式的字符串如:
String str="";
for(int i=0;i<list2.size();i++){
str+=("{id:'"+list2.get(i).getId()+"',pid:'"+list2.get(i).getparentId()+"'},");
}
if(str.length()>0){
str="["+str.substring(0,str.length()-1)+"]";
}
然后js里面这样var list='<%=str %>';
list=new Function("return "+ list)();
这样后list就是个和java中list差不多的对象数组了
list[i].id等价于java的list2.get(i).getId()
追问
这个貌似可行 ,我先试试看,不过代码看不太懂。。。
帐号已注销
推荐于2018-04-21 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1625万
展开全部
<script>
var d = new dtree('d');
<%
int size = list2.size();
for(int i=0;i<size;i++){%>
d.add(<%=list2.get(i).getId()%>,<%=list2.get(i).getparentId()%>,'<%=list2.get(i).getUrl()%>');
<% }%>
</script>
追问
你确定???????????????????????
追答
你不试试?这个能用。

_______________________

我猜应该是一个标签的id,你在你的页面里加个id为"d"的标签,先试试div,不行再换个ul。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狂暎8j
2012-05-17 · TA获得超过723个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:272万
展开全部
用<%=变量 %>,看下面例子就可以用js得到java的值:

<script type="text/javascript">

function testJS()
{
var c='<%=path %>'; // var c='<%=list2.get(i).getId() %>';等等
alert(c);
}
</script>

<%=path %>中的path可以换成你要的值,自己尝试写下吧,这样才能记得牢

根据代码d = new dtree('d');这句需要改成var d = new dtree('d');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gegecuicui
2012-05-17 · TA获得超过616个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:494万
展开全部
按目前有 dwr js中直接可以使用后台定义的java类
直接可以传list去js里遍历
或者就是通过Ajax 通过数据封装获取
Ajax 有6种返回值 json text html script jsonp 还有一种 你的list 最好用 json返回类型
或者你就只有通过jsp的java代码 写到html元素上 然后用js取dom元素值
追问
谢谢,不过首先我不懂ajax,而且dom也不懂,最好是有实例说明  (代码)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式