2017-10-10 5 views
-2

Je souhaite créer un graphique linéaire à l'aide de l'API Highchart dans mon application. Mais la série du graphique linéaire n'est pas créée correctement.Comment créer des données JSON dynamiques pour un graphique linéaire dans HighChart à l'aide de jQuery et Struts2

série prévue:

var series =[{name:'2016',data:[20,30,40,50]},{name:'2016',data:[200,300,400,500]}]; 

Tableau des données:

enter image description here

Appel action à l'aide jQuery:

$.getJSON("yeardata.action", function (data) { 
        //TO-DO how to create series data here 
      }); 

Classe d'action Méthode:

List<Integer> yearList = null; 
List<Integer> yearData = null; 

public String newYear() { 
    try { 
     yearList = new ArrayList<Integer>(); 
     rs = dashboard.DashboardDAO.yearData(con); 
     if (rs != null) { 
      while (rs.next()) { 
       yearList.add(rs.getInt(1)); 
      } 
      rs = null; 
      for (int yearCtr : yearList) { 
       yearData = new ArrayList<Integer>(); 
       rs = dashboard.DashboardDAO.myData(con, yearCtr); 
       while (rs.next()) { 
        yearData.add(rs.getInt(2)); 
       } 
       for (int yearDataCtr : yearData) { 
        System.out.println("Year: " + yearCtr + " Data: " + yearDataCtr); 
       } 
      } 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return "OK"; 
} 

mapping struts.xml:

<action name="year" class="dashboard.DashboardAction" method="newYear"> 
     <result name="OK" type="json"></result> 
    </action> 
+0

Vous devriez soyez clair sur les données renvoyées par l'action. –

+0

L'image que vous avez fournie contient des erreurs et ne peut pas être affichée. Veuillez mettre à jour votre question avec une question valide. –

Répondre

0

Vous devez définir

public class YearData { 
private String name; 
private List<Integer> data; 
//getter and setter for name an data 
} 

Puis

List<YearData> yearDatas; 
//getter for yearDatas 
public String newYear() { 
    yearData = new ArrayList<YearData>(); 
//fill it here e.g. 
    return "OK"; 
} 

puis

<action name="year" class="dashboard.DashboardAction" method="newYear"> 
    <result name="OK" type="json"><param name="root">yearDatas</param></result> 
</action>