怎样把JSP里的数组里的值赋值到javascript脚本?thanks 在JS中定义数组,通过循环,把JSP中的数组存到JS中,再从JS中读取。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%String[] s={"1","2","3"};%><script language="javascript">var my_array=new Array();<%for(int i=0;i<s.Length;i++){%>my_array[i]="<%=s[i]%>";<%}%></script> 从jsp读取数据到js因为是从服务器端到客户端,是很容易的,毕竟代码的运行顺序是先服务器端后客户端如果要从js读取数据到jsp,那就必须通过两个不同的页面进行交换才行 Sample:/* * 几个数据结构 */function CLabelValue (label, value){ this.label = label; this.value = value;}/* * 把“服务器”存储的所有“机构”的数据移到“用户端”…… * */var theOffices = new Array (<%try{ BeanClass_Department theDepartment; java.util.ArrayList allOffices= (java.util.ArrayList)session.getAttribute("theOfficeDepartments"); for (i=0; i<allOffices.size(); i++) { theDepartment = (BeanClass_Department)allOffices.get(i); out.print ("new CLabelValue(\"" + theDepartment.getName() + "\", \"" + theDepartment.getDepartmentID_String() + "\")"); if (i< allOffices.size()-1) out.print (","); }}catch(Exception theException){}%>); <Script Language="JavaScript">var jsArray = new Array(<%=jspArray.length()%>);<% for(int i = 0; i < jspArray.length(); i++) %> jsArray[<%=i%>] = "<%=jspArray[i]%>";</Script> JSP:以JavaScript生成字符串类型数据组为例:String quot_="'"; // JS数组 字符串前后的单引号(如果是数值数组则为空[""]即可)String space=","; // JS数组 间隔逗号String[] strArray=....;String str="";for(int i=0;i<strArray.length;i++){ str+= quot_ + strArray[i] + quot_ + space;}if(str.endsWith(space)){ // 去除尾部逗号 str=str.substring(0,str.length()-1);}=========================================JavaScript:var strArr = new Array(<%=str%>); // 生成JS数组 有个老大已经说得很清楚,我就不罗嗦了。jsp 与asp和javascript的传递数值的原理一样。注意哪些是服务端(java)客户端(javascript)的代码就行 sorry<%String[] s={"1","2","3"};%><script language="javascript">var my_array=new Array();<%for(int i=0;i<s.Length;i++){out.println("my_array["+i+"]="+s[i]);}%></script> 采用 beyond_xiruo(J2EE苏鸿ASP.NET) 和 ashes(灰尘) 的方式将会产生过多的HTML源码: my_array[0]="0"; my_array[1]="1"; my_array[2]="2"; ... ... ...我上面所写的则不会: var strArr = new Array('0','1','2',......); sorry<%String[] s={"1","2","3"};%><script language="javascript">var my_array=new Array();<%for(int i=0;i<s.Length;i++){out.println("my_array["+i+"]="+s[i]);}%></script> sorry<%String[] s={"1","2","3"};%><script language="javascript">var my_array=new Array();<%for(int i=0;i<s.Length;i++){out.println("my_array["+i+"]="+s[i]);}%></script> sorry<%String[] s={"1","2","3"};%><script language="javascript">var my_array=new Array();<%for(int i=0;i<s.Length;i++){out.println("my_array["+i+"]="+s[i]);}%></script> 高手已经说得很好,给各提醒:1、请分清服务端(java)与客户端(javascript)的代码2、如果你学过asp,原理是一样的 ??怎么把分都给我了啊我写得不好,而且还有错误的<% for(int i = 0; i < jspArray.length(); i++) %>应该是<% for(int i = 0; i < jspArray.length; i++) %> yaray(雅睿),beyond_xiruo(J2EE苏鸿ASP.NET) 请进这个帖子跟贴http://expert.csdn.net/Expert/TopicView1.asp?id=2134390 Hibernate<set>问题 tag文件 学习Web Service,用哪种框架好?AXIS,XFire,CXF? 请教:为什么我的extable运行显示不了表格呢 有关servlet的init方法的问题 请问org.apache.commons.net.tftp包在哪下载? 各位兄弟,请问哪里有com.jspsmart.upload这个包下? 又是一个简单的jsp问题(在线等待) tomcat问题,大家进来看一下 如何在JSP中建立与ACCESS数据库的连接关系? 提交网页 怎么样让tomcat找到我的javabean?
String[] s={"1","2","3"};
%>
<script language="javascript">
var my_array=new Array();
<%for(int i=0;i<s.Length;i++){%>
my_array[i]="<%=s[i]%>";
<%}%>
</script>
如果要从js读取数据到jsp,那就必须通过两个不同的页面进行交换才行
/*
* 几个数据结构
*/
function CLabelValue (label, value)
{
this.label = label;
this.value = value;
}/*
* 把“服务器”存储的所有“机构”的数据移到“用户端”……
*
*/
var theOffices = new Array (<%
try
{
BeanClass_Department theDepartment;
java.util.ArrayList allOffices= (java.util.ArrayList)session.getAttribute("theOfficeDepartments");
for (i=0; i<allOffices.size(); i++)
{
theDepartment = (BeanClass_Department)allOffices.get(i);
out.print ("new CLabelValue(\"" + theDepartment.getName() + "\", \"" + theDepartment.getDepartmentID_String() + "\")");
if (i< allOffices.size()-1)
out.print (",");
}
}
catch(Exception theException)
{
}
%>);
var jsArray = new Array(<%=jspArray.length()%>);
<% for(int i = 0; i < jspArray.length(); i++) %>
jsArray[<%=i%>] = "<%=jspArray[i]%>";
</Script>
String quot_="'"; // JS数组 字符串前后的单引号(如果是数值数组则为空[""]即可)
String space=","; // JS数组 间隔逗号
String[] strArray=....;
String str="";
for(int i=0;i<strArray.length;i++){
str+= quot_ + strArray[i] + quot_ + space;
}
if(str.endsWith(space)){ // 去除尾部逗号
str=str.substring(0,str.length()-1);
}=========================================JavaScript:
var strArr = new Array(<%=str%>); // 生成JS数组
jsp 与asp和javascript的传递数值的原理一样。注意哪些是服务端(java)客户端(javascript)的代码就行
<%
String[] s={"1","2","3"};
%>
<script language="javascript">
var my_array=new Array();
<%
for(int i=0;i<s.Length;i++){
out.println("my_array["+i+"]="+s[i]);
}
%>
</script>
my_array[0]="0";
my_array[1]="1";
my_array[2]="2";
...
...
...
我上面所写的则不会:
var strArr = new Array('0','1','2',......);
<%
String[] s={"1","2","3"};
%>
<script language="javascript">
var my_array=new Array();
<%
for(int i=0;i<s.Length;i++){
out.println("my_array["+i+"]="+s[i]);
}
%>
</script>
<%
String[] s={"1","2","3"};
%>
<script language="javascript">
var my_array=new Array();
<%
for(int i=0;i<s.Length;i++){
out.println("my_array["+i+"]="+s[i]);
}
%>
</script>
<%
String[] s={"1","2","3"};
%>
<script language="javascript">
var my_array=new Array();
<%
for(int i=0;i<s.Length;i++){
out.println("my_array["+i+"]="+s[i]);
}
%>
</script>
1、请分清服务端(java)与客户端(javascript)的代码
2、如果你学过asp,原理是一样的
怎么把分都给我了啊
我写得不好,而且还有错误的
<% for(int i = 0; i < jspArray.length(); i++) %>
应该是
<% for(int i = 0; i < jspArray.length; i++) %>
请进这个帖子跟贴
http://expert.csdn.net/Expert/TopicView1.asp?id=2134390