Jsf 2 JSF2没有';我找不到我的方法
所以我有一个创建饼图的视图。循环代码如下所示Jsf 2 JSF2没有';我找不到我的方法,jsf-2,view,controller,Jsf 2,View,Controller,所以我有一个创建饼图的视图。循环代码如下所示 function drawChart() { var dataBest = new google.visualization.DataTable(); dataBest.addColumn('string', 'Name'); dataBest.addColumn('number', 'Number'); dataBest.addR
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);
}
函数绘图图(){
var databet=new google.visualization.DataTable();
addColumn('string','Name');
database.addColumn('number','number');
dataBest.addRows([
['.{sale[0].prodId.prodName}',{sale[1]},
]);
var options={'title':'Best sall Products','width':400,'height':300};
var chart=newgoogle.visualization.PieChart(document.getElementById('test');
图表绘制(数据库、选项);
}
在名为DashboardController的控制器中,我有:
public String bestSelling() {
List<Sales> bestSelling = saleService.getBestSellingProduct(country,gender,status,income);
return new Gson().toJson(bestSelling);
}
公共字符串畅销书(){
列出畅销书=SalesService.getBestSellingProduct(国家、性别、地位、收入);
返回新的Gson().toJson(畅销书);
}
但是,当我进入我的页面时,我有以下错误:/faces/all.xhtml@22,83 value=“#{dashboardController.bestSelling}”:类“com..managedbean.dashboardController”没有属性“bestSelling”
我不明白我做错了什么。你没有运行你认为正在运行的代码。查看错误消息: /faces/all.xhtml@22,83 value=“#{dashboardController.bestsall} 它提到了没有括号的方法。因此,您显然在后面添加了它,但是webapp项目没有正确保存/清理/重建/重新部署/重新启动
与具体问题无关,这种方法还有很多错误(试图使用
在Java字符串上迭代
,作为一个思维错误),但一旦解决当前问题,您就会遇到这种情况。提示:JSF是一个HTML代码生成器,JS是HTML的一部分。Huh?为什么您要尝试迭代字符串
?嗯,有人告诉我需要用json传递列表才能使用它,所以我只需迭代json的所有元素。但现在,我不能en get my string to come so…您没有返回Java列表
。您返回的是Java字符串
(以JSON格式表示数组)。您应该只是简单地打印它(并且永远不要在getter方法中执行业务逻辑)。是的,我知道,我的第一个方法getBestSellingProduct返回一个列表。我将此列表转换为字符串。如果有更好的方法,我将接受它!:d老实说,我不想将列表转换为字符串。我的列表实际返回一个对象和一个int(因此这一行['.{sale[0].prodId.prodName}',#{sale[1]})。如果有办法在视图中使用我的列表,那就太好了。我试图清理/构建我的项目并重新运行它,但它没有改变任何事情。