我想在javascript里定义一个数组,数组的元素从jsp的vector得来,我该怎么做呢??急!!!!!!!!!!!
我写了这段程序,建数组后在一个函数中调用数组,可是报错说数组未定义,问题出在哪里了呢?????
<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




