v_wwei 2009-04-19 00:46
浏览 219
已采纳

帮忙解决JAVA 关于二维数组传值到JS

本人是新手,可能是提问题,并没有提供全面的信息,如果需要的话,请提出,我会完善的!
首先,我使用的是hibernate+struts
首先我从数据库提取数据如下:
在.JSP中

<%
int emp_id=(Integer)session.getAttribute("emp_id");
IoGoodsBs iobs= new IoGoodsBs();
List list= null;
int ioless=1;
list=iobs.queryIoGoodsByIoless(emp_id,ioless);
int size=list.size();

  String[][] li= new String[size][2];      
     for(int i=0;i<list.size();i++) 
   { 
     IoGoods iogs=(IoGoods)list.get(i); 
      li[i][0]=iogs.getGoodsname(); 
      li[i][1]=String.valueOf(iogs.getQuantity());  // iogs.getQuantity()是INT 类型的.  

   } 

%>

本人想将 li 这个二维数组传值进下面的JS中的, myDate中,请问,应该怎么做.才能让我取得的二维数组li同JS中myDate一样.
JS如下:

var myData = new Array(['U.S.A.', 69.5], ['Canada', 2.8], ['Japan & SE.Asia', 5.6], ['Aus. & NZ.', 2.8], ['E.U.', 14.6], ['Others Europe', 2.7], ['Others', 1.9],['wwei',1.2]); var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9']; var myChart = new JSChart('graph', 'bar'); myChart.setDataArray(myData); myChart.colorizeBars(colors); myChart.setTitle('Host distribution per macroareas'); myChart.setTitleColor('#8E8E8E'); myChart.setAxisNameX('Region'); myChart.setAxisNameY('%'); myChart.setAxisColor('#c6c6c6'); myChart.setAxisWidth(1); myChart.setAxisNameColor('#9a9a9a'); myChart.setAxisValuesColor('#939393'); myChart.setAxisPaddingTop(60); myChart.setAxisPaddingLeft(50); myChart.setAxisPaddingBottom(60); myChart.setTextPaddingBottom(20); myChart.setTextPaddingLeft(15); myChart.setTitleFontSize(11); myChart.setBarBorderWidth(0); myChart.setBarSpacingRatio(50); myChart.setBarValuesColor('#737373'); myChart.setGrid(false); myChart.setSize(616, 321); myChart.setBackgroundImage('chart_bg.jpg'); myChart.draw();

感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-04-19 09:43
    关注

    这个就是把java中的数组转换成json字符串传给js就能解析,

    看看这个工具框架,java 和 json之间的转换
    把这个包下载下来加到工程。地址:http://sourceforge.net/projects/stringtree

    在.JSP中
    jsp中导入 import org.stringtree.json.JSONWriter;

    <%
    int emp_id=(Integer)session.getAttribute("emp_id");
    IoGoodsBs iobs= new IoGoodsBs();
    List list= null;
    int ioless=1;
    list=iobs.queryIoGoodsByIoless(emp_id,ioless);
    int size=list.size();

      String[][] li= new String[size][2];      
         for(int i=0;i<list.size();i++) 
       { 
         IoGoods iogs=(IoGoods)list.get(i); 
          li[i][0]=iogs.getGoodsname(); 
          li[i][1]=String.valueOf(iogs.getQuantity());  // iogs.getQuantity()是INT 类型的.  
    
       } 
       JSONWriter writer = new JSONWriter();
       String jsonStr = writer.write(li);
    

    %>

    本人想将 li 这个二维数组传值进下面的JS中的, myDate中,请问,应该怎么做.才能让我取得的二维数组li同JS中myDate一样.
    JS如下:

    var myData = <%=jsonStr %>; var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9']; var myChart = new JSChart('graph', 'bar'); myChart.setDataArray(myData); myChart.colorizeBars(colors); myChart.setTitle('Host distribution per macroareas'); myChart.setTitleColor('#8E8E8E'); myChart.setAxisNameX('Region'); myChart.setAxisNameY('%'); myChart.setAxisColor('#c6c6c6'); myChart.setAxisWidth(1); myChart.setAxisNameColor('#9a9a9a'); myChart.setAxisValuesColor('#939393'); myChart.setAxisPaddingTop(60); myChart.setAxisPaddingLeft(50); myChart.setAxisPaddingBottom(60); myChart.setTextPaddingBottom(20); myChart.setTextPaddingLeft(15); myChart.setTitleFontSize(11); myChart.setBarBorderWidth(0); myChart.setBarSpacingRatio(50); myChart.setBarValuesColor('#737373'); myChart.setGrid(false); myChart.setSize(616, 321); myChart.setBackgroundImage('chart_bg.jpg'); myChart.draw();
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私