CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

我想在javascript里定义一个数组,数组的元素从jsp的vector得来,我该怎么做呢??急!!!!!!!!!!!

楼主sakuta()2003-08-01 13:59:08 在 Java / Web 开发 提问

我写了这段程序,建数组后在一个函数中调用数组,可是报错说数组未定义,问题出在哪里了呢?????  
  <script>  
  tree_ar   =   new   Array(  
  <%  
          Vector   Vget   =   preview.getNode();  
          System.out.println(Vget.size());  
          if(Vget.size()>0){  
  for(int   i=0;i<Vget.size();i++){  
                          Hashtable   Hget   =   (Hashtable)Vget.get(i);  
                          System.out.println(Hget.get("fpdid"));  
                          if(i!=Vget.size()-1){  
                          %>new   Array("<%=Hget.get("pddm")%>","<%=Hget.get("fpdid")%>","<%=Hget.get("pdmc")%>","<%=Hget.get("pdsx")%>"),<%  
                          }  
                          else{  
                          %>new   Array("<%=Hget.get("pddm")%>","<%=Hget.get("fpdid")%>","<%=Hget.get("pdmc")%>","<%=Hget.get("pdsx")%>")<%  
                          }  
  }  
          }  
  %>  
  );  
  ...  
  </script> 问题点数:0、回复次数:10Top

1 楼kjeny2002(小杭)回复于 2003-08-01 14:03:19 得分 0

var   tree_ar   =   new   Array();Top

2 楼jwywxx()回复于 2003-08-01 14:14:42 得分 0

<script   language="javascript">  
  var   tree_ar   =   new   Array();  
  <%  
      Vector   Vget   =   preview.getNode();        
      if(Vget.size()>0){  
          for(int   i=0;i<Vget.size();i++){  
              Hashtable   Hget   =   (Hashtable)Vget.get(i);  
  %>  
      tree_ar[<%=i%>]={"<%=Hget.get("pddm")%>","<%=Hget.get("fpdid")%>","<%=Hget.get("pdmc")%>","<%=Hget.get("pdsx")%>"};  
   
  </script>  
   
  javascript的数组类似Vector可以动态增长的Top

3 楼ejbcreate(小章)回复于 2003-08-01 14:27:42 得分 0

你在javabean里写一个方法:  
   
  ...  
  public   static   String   PrintArray()  
  {  
        Vector         Vget   =   null;  
        Hashtabel   Hget   =   null;  
        StringBuffer   lSB   =   new   StringBuffer();  
        try  
        {  
              lSB.append("var   tree_ar=new   Array(");  
              Vget   =   preview.getNode();  
              System.out.println(Vget.size());  
              if(Vget.size()>0){  
  for(int   i=0;i<Vget.size();i++){  
                          Hget   =   (Hashtable)Vget.get(i);  
                          System.out.println(Hget.get("fpdid"));  
                          if(i!=Vget.size()-1){  
                                  lSB.append("new   Array("+Hget.get("pddm")+","+Hget.get("fpdid")+","+Hget.get("pdmc")+","+Hget.get("pdsx")+")");  
                          }  
          else{  
                  lSB.append("new   Array("+Hget.get("pddm")+","+Hget.get("fpdid")+","+Hget.get("pdmc")+","+Hget.get("pdsx")+")");  
          }  
                    }  
              }  
              lSB.append(")");  
              return   (lSB.toString())  
        }catch(Exception   ex)  
        {  
                System.out.println("Exception:   "+ex.toString());  
                return   null;  
        }  
  }  
  ...  
   
   
  <script>  
  ...  
  <%=yourBean.PrintArray()%>//生成你想要的数组,然后在接下来的程序中可以调用这个数组了。  
  ...  
  </script>Top

4 楼zhaoxichao(小西)回复于 2003-08-01 14:28:26 得分 0

同意楼上Top

5 楼yaray(雅睿,生活在别处)回复于 2003-08-01 15:08:35 得分 0

在Bean中有以下方法:  
  public   String   getString(){  
   
      StringBuffer   strB   =   new   StringBuffer("");  
      for(int   i=0;i<vector.size();i++){  
          strB.append(   "'"+vector.get(i)+"',");  
      }                       //如果要生成的JavaScript数组数据为非数字类型,在其前后加上单引号  
      String   str   =   strB.toString();  
      if(str.endsWith(",")){   //去除尾部的逗号  
          str   =   str.substring(0,str.length()-1);  
      }  
      return   str;  
  }  
   
  在你的JSP文件中:  
  <script   language="JavaScript">  
  <!--  
      var   array   =   new   Array(<%=beanInstanceName.getString()%>);  
  //-->  
  </script>Top

6 楼lsy110(堕落)回复于 2003-08-01 15:42:16 得分 0

<script   language="javascript">  
  <!--  
      xxxxxx<%=xxxxx%>  
  -->  
  </script>Top

7 楼lymkelly(柳叶眉)回复于 2003-08-01 18:34:52 得分 0

关注Top

8 楼lymkelly(柳叶眉)回复于 2003-08-01 18:36:17 得分 0

为什么要这样处理呢,在jsp里就行了,放到js干什么,不明白  
  请指教Top

9 楼llkk(可靠力量)回复于 2003-08-11 11:14:26 得分 0

js和jsp语句能嵌套使用吗,jsp语句在服务端执行,js在客户端执行,纳闷???Top

10 楼xmvigour(微电-THINKING IN APP)回复于 2003-08-11 12:03:11 得分 0

最简单的检测方法   就是   在客户端查看jsp生成的源代码  
  仔细对照一下   就知道问题出在哪里了  
  关键一点是要清楚   哪些是jsp的哪些js的   搞清楚了   就基本上ok了Top

11 楼xmvigour(微电-THINKING IN APP)回复于 2003-08-11 12:04:53 得分 0

最简单的检测方法   就是   在客户端查看jsp生成的源代码  
  仔细对照一下   就知道问题出在哪里了  
  关键一点是要清楚   哪些是jsp的哪些js的   搞清楚了   就基本上ok了Top

相关问题

  • javascript 定义数组.
  • 关于javascript中的数组定义?
  • javascript如何定义动态数组?
  • VB数组定义??
  • 怎样把jsp的String数组赋值给javascript数组
  • 怎样把jsp的String数组赋值给javascript数组
  • 在JSP中多维数组如何定义,初始化?救命呀!
  • 怎么定义数组啊???
  • 求助:类数组定义
  • 超大数组的定义!

关键词

  • jsp
  • 数组
  • vget
  • 生成
  • stringbuffer
  • 客户端
  • js
  • 方法
  • 问题出在哪里

得分解答快速导航

  • 帖主:sakuta

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo