html+JSP c:foreach 循环出的值赋给一个数组 怎么做~
<script>vardata2=[80,90,80,100,110,130,100];varlineChartData={labels:["09/12","09/13"...
<script>
var data2=[80,90,80,100,110,130,100];
var lineChartData = {
labels : ["09/12","09/13","09/14","09/15","09/16","09/17","09/18"], //X轴 坐标
datasets : [
{
fillColor : "transparent", // 背景色
strokeColor : "#ef7c1f", // 线
pointColor : "#ef7c1f", // 点
pointStrokeColor : "#fff", // 点的包围圈
data : data1 // Y轴坐标
},
上面是画曲线图的代码,其中data需要给出数组,类似labels那种。这个数据来源于数据库,我想把数据库中的数据取出来,放在data1数组中,如何实现?
以下是我的尝试,不过失败了:
<c:forEach items="${clientList}" var="vo" varStatus="loop">
data1[]=${vo.id};
count1++;
</c:forEach>
这段是在jsp文件中运行的,不过总是无法识别[]和++,不知道该怎样写
尝试过在<script>中写入代码,不过也不对,仅供参考:
<script>
var data1=new Array();
var count1=0;
document.write(count1);
$.each(clientList,function(){
data1.push("#clientList.id");
count1++;
});
document.write(count1);
或者
$.each("#clientList".id,function () {
for(i=0;i<=rows(clientList),i++)
$("#data1").append();
count1+=1;
document.write(count1);
});
</script>
这个问题很着急解决~~请各位大神帮帮忙~~~~多谢啦~~~~
代码里的clientList是数据库中的一张表,id是某一列 展开
var data2=[80,90,80,100,110,130,100];
var lineChartData = {
labels : ["09/12","09/13","09/14","09/15","09/16","09/17","09/18"], //X轴 坐标
datasets : [
{
fillColor : "transparent", // 背景色
strokeColor : "#ef7c1f", // 线
pointColor : "#ef7c1f", // 点
pointStrokeColor : "#fff", // 点的包围圈
data : data1 // Y轴坐标
},
上面是画曲线图的代码,其中data需要给出数组,类似labels那种。这个数据来源于数据库,我想把数据库中的数据取出来,放在data1数组中,如何实现?
以下是我的尝试,不过失败了:
<c:forEach items="${clientList}" var="vo" varStatus="loop">
data1[]=${vo.id};
count1++;
</c:forEach>
这段是在jsp文件中运行的,不过总是无法识别[]和++,不知道该怎样写
尝试过在<script>中写入代码,不过也不对,仅供参考:
<script>
var data1=new Array();
var count1=0;
document.write(count1);
$.each(clientList,function(){
data1.push("#clientList.id");
count1++;
});
document.write(count1);
或者
$.each("#clientList".id,function () {
for(i=0;i<=rows(clientList),i++)
$("#data1").append();
count1+=1;
document.write(count1);
});
</script>
这个问题很着急解决~~请各位大神帮帮忙~~~~多谢啦~~~~
代码里的clientList是数据库中的一张表,id是某一列 展开
1个回答
展开全部
<c:forEach>中间相当于是html了,你不能当成java或javascript来写。
clientList也是java的,也不能直接写在javascript里面。
我之前做过类似的图表,你这个${clientList}形式我不太熟。但是我是用ajax请求struts2直接返回json数据,然后在javascript里可以直接使用。
clientList也是java的,也不能直接写在javascript里面。
我之前做过类似的图表,你这个${clientList}形式我不太熟。但是我是用ajax请求struts2直接返回json数据,然后在javascript里可以直接使用。
追问
能否详细说一下ajax请求返回json数据是怎么操作的?需要在哪些文件里写入代码?写什么的代码?多谢啦~~~~本人初次接触这些东西,完全没有头绪~~~谢谢啦~~~~
追答
jsp的javascript里面:
$.ajax({
type:"POST",
url:"<%=basePath%>test1/getDataAction.action",//action的url
dataType:"json", //这里数据类型为json
success:function(returnData){
//这是一个回调函数,returnData就指代返回的数据
//如果你返回的数据在Java里是List,这里就会是js里的Array。
//可以直接使用,如returnData[0]
//如果你返回的数据在java里是map,这里就是js的对象。
//returnData.name,returnData.age
//如果你返回的数据在java里是List<Map<K,T>>,这里就是js的对象数组。
//returnData[0].name,returnData[1].age等等
//你可以把你的表格初始化放在这里,定义一个全局变量lineChartData,然后在这里赋值初始化
},
error:function(){
//这里是出错后的处理,我一般没有写,只是调试用
}
});
Action里面:
public String getBatch(){
testDao qsd = new testDao();
ArrayList<String> result = qsd.getData();
return SUCCESS;
}
result是返回的结果变量,与struts.xml里配置的一样,在之前要定义get,set方法,可以是list,也可以是map,还可以是List<Map>,前后对应就行了。
struts2配置:
<package name="test1" namespace="/test1" extends="json-default">
<!-- 包定义为json -->
<action name="getDataAction" class="com.test.action.TestAction" method="getData">
<result type="json">
<param name="root">result</param>
<!-- 这里的param名称就是action里返回的变量名 -->
</result>
</action>
</package>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询