在javascript chart.js中访问Java数组

时间:2019-05-01 07:41:28

标签: javascript java

努力在代码中重用javascript中的Java数组 (基于SQL的动态元素在JSP中的forEach中选择)

即使在末尾也用逗号正确填充了数组(包含“ longs”)。两个数组都有不同数量的元素 但两者始终具有相同数量的元素。

l数组包含1, 2, 6, 3,等,m数组包含CellA116, reception, home,

我尝试使用

将数组提供给chart.js

pageContext.setAttribute("numbers",l);
pageContext.setAttribute("zones",m);

,然后在chart.js中引用它们(在javascript中) 但没有图表出现(无论如何我的数字和我的区域 仅包含一个元素(大概是因为它们在forEach循环之外),而lm数组中有6个元素)

即mynumbers = [1.]     myzones = [CellA116,]

<c:set var="quantity" value="${row.Quantity},"  />
<c:set var="zone" value="${row.zone}," />

<%
  ArrayList l= new ArrayList();
  l.add(pageContext.getAttribute("quantity"));

  pageContext.setAttribute("numbers",l);

  for(int i=0; i<l.size(); i++)
  out.println(l.get(i));

  ArrayList m= new ArrayList();
  m.add(pageContext.getAttribute("zone"));

  pageContext.setAttribute("zones",m);

  for(int i=0; i<m.size(); i++)
  out.println(m.get(i));
%>        

</c:forEach>

<script type="text/javascript">

var mynumbers = '<%=pageContext.getAttribute("numbers")%>'
var myzones = '<%=pageContext.getAttribute("zones")%>'

document.write(mynumbers);
document.write(myzones);

var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
    labels: myzones,
    datasets: [{
    label: 'Quantity of assets by zone',
        data: mynumbers,
                backgroundColor: [
                 'rgba(255, 99, 132, 0.2)',

如果我恢复到现有的chart.js示例,则会显示一个图表,以便外观/渲染在浏览器中正常工作。

<script type="text/javascript">

var mynumbers = '<%=pageContext.getAttribute("numbers")%>'
var myzones = '<%=pageContext.getAttribute("zones")%>'

document.write(mynumbers);
document.write(myzones);

var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
    labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
    datasets: [{
    label: 'Quantity of assets by zone',
        data: [12, 19, 3, 5, 2, 3],
                backgroundColor: [
                 'rgba(255, 99, 132, 0.2)',

如何引用javascript中的Java数组(我需要重申吗? 返回某种选择语句的数组)?

我想在同一个JSP中做所有事情。

任何帮助表示赞赏。

拉尔夫。

0 个答案:

没有答案