把java中的Vector,Hashtable,List等数类型转换成javaScript的数组。在这里用到的是一个StringBuffer.具体的实现看下面的代码:
public String getArray(Vector v){
  if (v == null || v.size()==0){
   return "";
  }
  int i=0;
  Hashtable hash = null;
  StringBuffer sb = new StringBuffer("var arrmake = new Array(");
  try{
   for(i=0; i<v.size(); i++){
    hash = (Hashtable)v.elementAt(i);
    String tmp_make = hash.get("code").toString();    
    if(i=1){
     sb.append("'"+tmp_make+"'");     
    }else if(i>1){
     sb.append("'"+tmp_make+"',");
    }    
   }
   String test = sb.toString();
   if (i>1){
    test = test.substring(0,test.length()-1);
   }
   sb.append(test+");");
  }catch(Exception e){
   e.printStackTrace();
  }  
  return sb.toString();
 }
要注意这里一定要用try{}catch(){}因为在转换过程中可能会出错,所以用try{}catch(){}把异常抛出。
在javascript中怎么用这个数组呢?
String arrMake = getArray(vecMake);
<script language="javaScript">
 <%=arrMake%>
</script>
OK.
posted on 2005-11-22 11:11 rodney 阅读(1346) 评论(0)  编辑  收藏 所属分类: 初学JSP初学JAVA

只有注册用户登录后才能发表评论。


网站导航: