如何把java的数组的值给javascript?

qq1299338446 2012-09-26 12:32:34
<%@ page language="java" contentType="text/html; charset=GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>search result</title>
</head>
<body background= "<%=request.getContextPath()%>/img/top1.jpg">
<%
int i;
String [] toJsp=(String [])request.getAttribute("toJsp");//这里是从action获得的内容
System.out.println(toJsp.length);
%>
<%int count=0;%>
<center>
<form name="form1">
<table align="center">
<tr align="center"><td><input type="button" value="新增" onClick="newadd()"/></td><td><input type="button" value="查看" onClick="check()"/></td><td><input type="button" value="修改" onClick="update()" /></td></tr>
<tr align="center"><td align="center">选择</td><td align="center">题目</td><td align="center">日期</td></tr>
<% for(i = 0;i < toJsp.length;){ %>
<tr align="center"><td><input type="checkbox" value="查看" id="CheckBox<%=i%>"></td><td><%=toJsp[i] %></td><td><%=toJsp[++i]%></td><%i=i+2; %>
<%} %>
</table>
<table align="center">
<tr align="center"><td>内容</td></tr>
<tr align="center"><td><input type="text" id="text1"></td></tr>
<tr align="center"><td><textarea cols="40" rows="10" id="text2"></textarea></td></tr>
</table>
</form>
</center>
</body>

<script type="text/javascript" language="javascript">
function check()
{
var j=0;

while(j<<%=toJsp.length%>)
{<%System.out.println("JAVA001"+count);%>
if(document.getElementById("CheckBox".concat(j)).checked)
{alert(j);alert("count上面="+<%=count%>);
document.getElementById("text1").value = <%=toJsp[count]%>;//就是这边count会变成0
document.getElementById("text2").value = <%=toJsp[count+2]%>;

<%count=0;%>
break;
}
else
{
j = j+3;alert(j);
<%count = count +3; System.out.println("JAVA"+count);%>
alert("count下面="+<%=count%>);
}

}
}

function newadd()
{
document.form1.action = "<%=request.getContextPath()%>/frame/newStudy.jsp";
document.form1.submit();
}


function data(x,y)
{ alert("a");
document.getElementById("text1").value = x;
document.getElementById("text2").value = y;
}



function update()
{
document.form1.action = "<%=request.getContextPath()%>/frame/update.jsp";
document.form1.submit();
}

</script>
</html>
...全文
189 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1299338446 2012-09-27
  • 打赏
  • 举报
回复
相当感谢各位 不过我是用JAVA数组赋值给JS数组方式了
var array = new array();
<%for(int x=0;x<=toJsp.length;x++)
{%>
array[<%=x%>] = "<%=toJsp[x]%>";
<%}%>
  • 打赏
  • 举报
回复
目前还不知道怎么给
qq1299338446 2012-09-26
  • 打赏
  • 举报
回复
我已经把count定义为全局变量了 count还变成0的情况 我用alert运行时候count在button第一次点击时count变成3之后变成0是什么情况啊?
mysdzlt2007 2012-09-26
  • 打赏
  • 举报
回复
如果你的js直接写在页面上的话,可以:var count = "<%=count%>";
wangzhonglong456 2012-09-26
  • 打赏
  • 举报
回复
同意 六楼 七楼 !!
zcwgogo 2012-09-26
  • 打赏
  • 举报
回复
<input type="hidden" id="txtArr" value="<%= Arrays.toString(toJsp)%>"/>

js:
var value=document.getElementById("txtArr").value;
var jsArr=value.split(',');
  • 打赏
  • 举报
回复
可以把java 的人值传给hidden然后就js取hidden的值
九两银 2012-09-26
  • 打赏
  • 举报
回复
javascript里面可以直接用el表达式取值。 var demo = "${action的字段名}"
菖蒲老先生 2012-09-26
  • 打赏
  • 举报
回复
document.getElementById("text1").value = <%=toJsp[count]%>;//就是这边count会变成0
document.getElementById("text2").value = <%=toJsp[count+2]%>;
<%count=0;%>

问题出在这一句吧。。
  • 打赏
  • 举报
回复
因为你的jsp先编译java的 所以要这样写

while(j<parseInt("<%=toJsp.length%>")){
//dosomething
}




document.getElementById("text1").value = "<%=toJsp[count]%>";//就是这边count会变成0
document.getElementById("text2").value = "<%=toJsp[count+2]%>";

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧