所以我有一個視圖來創建餅圖。經常性代碼看起來像這樣。JSF 2沒有找到我的方法
function drawChart() {
var dataBest = new google.visualization.DataTable();
dataBest.addColumn('string', 'Name');
dataBest.addColumn('number', 'Number');
dataBest.addRows([
<ui:repeat value="#{dashboardController.bestSelling()}" var="sale">
[ '#{sale[0].prodId.prodName}', #{sale[1]}],
</ui:repeat >
]);
var options = {'title':'Best Sold Products', 'width':400,'height':300};
var chart = new google.visualization.PieChart(document.getElementById('test'));
chart.draw(dataBest, options);
}
而且在我的控制器稱爲DashboardController我:
public String bestSelling() {
List<Sales> bestSelling = saleService.getBestSellingProduct(country,gender,status,income);
return new Gson().toJson(bestSelling);
}
但是,當我去我的網頁上,我有以下錯誤:
/faces/all.xhtml @ 22,83 value =「#{dashboardController.bestSelling}」:類com。 。 .managedbean.DashboardController'沒有'bestSelling'屬性。
我不明白我在那裏做錯了什麼。
咦?你爲什麼試圖迭代一個'String'? – BalusC
嗯,我被告知我需要在json中傳遞我的列表才能使用它,所以我只是遍歷了我的json的所有元素。但現在,我甚至無法讓我的字符串來... ... – Simon
你沒有返回Java'List'。你正在返回一個Java'String'(代表一個JSON格式的數組)。你應該打印它簡單的香草(並且從不在getter方法中執行業務邏輯)。 – BalusC