Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSF2没有';我找不到我的方法_Jsf 2_View_Controller - Fatal编程技术网

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]})。如果有办法在视图中使用我的列表,那就太好了。我试图清理/构建我的项目并重新运行它,但它没有改变任何事情。