JSF 2找不到我的方法

时间:2013-05-22 11:35:01

标签: jsf-2 view controller

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

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 =&#34;#{dashboardController.bestSelling}&#34;:班级&#39; com。 .managedbean.DashboardController&#39;没有该物业&#39; bestSelling&#39;。

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

1 个答案:

答案 0 :(得分:0)

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

  

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

它提到没有括号的方法。所以,你显然已经在以后添加了它,但是webapp项目没有被正确保存/清理/重建/重新部署/重新启动。


对具体问题

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