0

所以我有一个创建饼图的视图。重复代码看起来像这样。

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}": The class 'com. . .managedbean.DashboardController' 没有属性 'bestSelling'。

我不明白我在那里做错了什么。

4

1 回答 1

0

您没有运行您认为正在运行的代码。查看错误信息:

/faces/all.xhtml @22,83 value="#{dashboardController.bestSelling}

它提到了没有括号的方法。因此,您显然后来添加了它,但是 webapp 项目没有正确保存/清理/重建/重新部署/重新启动。


与具体问题无关,这种方法还有很多错误(尝试使用<ui:repeat>迭代 JavaString作为 #1 思维错误),但一旦解决当前问题,您就会体验到这一点。提示:JSF 是一个 HTML 代码生成器,而 JS 是该 HTML 的一部分。

于 2013-05-22T12:01:22.640 回答