把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.