値をサーブレットに送信しているバーチャートがあり、各値に基づいて、レーダーチャートにデータを入力する必要があります。データはサーブレットに送信され、レーダーチャートも送信されます。しかし問題は、レーダーは1つの条件でのみ来ています.それは他の部分では機能していません.結果として、レーダーとバーをインタラクティブにすることはできません.ここに私のコードがあります...
これは、サーブレットにデータを送信しているコントローラーです..
initializedEvents: false,
init: function() {
this.control({
'#barColumnChart': {
afterlayout: this.afterChartLayout
}
});
},
afterChartLayout: function(){
var me=this;
if(this.initializedEvents==true) return;
this.initializedEvents=true;
Ext.getCmp('barColumnChart').series.items[0].on('itemmousedown',function(obj){
// alert(obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count']);
var barData=obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count'];
//alert(barData);
me.dataBaseCall(obj.storeItem.data['source'],obj.storeItem.data['count']);
});
},
dataBaseCall: function(source,count){
//alert(barData);
Ext.Ajax.request({
url: "CallRatiosAnalysis",
success: function(response, opts){
//do what you want with the response here
console.log("hiiiiiiiiiiii");
},
failure: function(response, opts) {
alert("server-side failure with status code " + response.status);
},
params: {
source: source,
count: count
}
そして、ここにレーダーチャートが形成されているサーブレットがあります...
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String mysource = request.getParameter("source");
String mycount = request.getParameter("count");
System.out.println(mysource + "\n" + mycount);
if (mysource != null && mycount != null) {
PrintWriter out = response.getWriter();
response.setContentType("text/html");
ArrayList<IndCallType> ratios = new ArrayList<IndCallType>();
ratios.add(new IndCallType("Voice", "40"));
ratios.add(new IndCallType("SMS", "30"));
ratios.add(new IndCallType("MMS", "5"));
ratios.add(new IndCallType("GPRS", "20"));
ratios.add(new IndCallType("Others", "5"));
Gson gson = new Gson();
JsonArray arrayObj = new JsonArray();
for (int i = 0; i < ratios.size(); i++) {
IndCallType count = ratios.get(i);
JsonElement linObj = gson.toJsonTree(count);
arrayObj.add(linObj);
}
JsonObject myObj = new JsonObject();
myObj.addProperty("success", true);
myObj.add("allCalls", arrayObj);
myObj.addProperty("allCallsRatio", ratios.size());
out.println(myObj.toString());
out.close();
}else{ //this part is not working
PrintWriter out = response.getWriter();
response.setContentType("text/html");
ArrayList<IndCallType> ratios = new ArrayList<IndCallType>();
ratios.add(new IndCallType("Voice", "10"));
ratios.add(new IndCallType("SMS", "3"));
ratios.add(new IndCallType("MMS", "50"));
ratios.add(new IndCallType("GPRS", "80"));
ratios.add(new IndCallType("Others", "1"));
Gson gson = new Gson();
JsonArray arrayObj = new JsonArray();
for (int i = 0; i < ratios.size(); i++) {
IndCallType count = ratios.get(i);
JsonElement linObj = gson.toJsonTree(count);
arrayObj.add(linObj);
}
JsonObject myObj = new JsonObject();
myObj.addProperty("success", true);
myObj.add("allCalls", arrayObj);
myObj.addProperty("allCallsRatio", ratios.size());
out.println(myObj.toString());
out.close();
}
}
if 条件の 1 つの部分だけが機能しています。しかし、else 部分が機能していません。理由がわかりません。誰か助けてください。