错误 404,ajax 事件 itemSelect Primefaces 5.2

Error 404, ajax event itemSelect Primefaces 5.2

我在点击条形图项目时遇到错误 404 问题,之后我收到此错误,我不知道这是什么问题。

我用过,primefaces 5.2,java8

根据文档添加下一个:

Java:

public ContractsBean() {
        modelChart = new BarChartModel();
         ChartSeries boys = new ChartSeries();
         boys.setLabel("Boys");
         boys.set("2004", 120);
         boys.set("2005", 100);
         boys.set("2006", 44);

         ChartSeries girls = new ChartSeries();
         girls.setLabel("Girls");
         girls.set("2004", 52);
         girls.set("2005", 60);
         girls.set("2006", 110);

         modelChart.addSeries(boys);
         modelChart.addSeries(girls);
         modelChart.setTitle("Bar Chart");
         modelChart.setLegendPosition("ne");

         Axis xAxis = modelChart.getAxis(AxisType.X);
         xAxis.setLabel("Gender");

         Axis yAxis = modelChart.getAxis(AxisType.Y);
         yAxis.setLabel("Births");
         yAxis.setMin(0);
         yAxis.setMax(200);
        }

    public BarChartModel getModelChart() { return modelChart; }

    public void itemSelectido(ItemSelectEvent event) {
     FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
    "Item selected", "Item Index: " + event.getItemIndex() +
    ", Series Index:" + event.getSeriesIndex());

     FacesContext.getCurrentInstance().addMessage(null, msg);
        System.out.println("chart impresooo");
     }

JSP:

<div style="width: 100%; height: 60%; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto;">
                                    <p:chart type="bar" model="#{contractsBean.modelChart}">
                                        <p:ajax event="itemSelect" listener="#{contractsBean.itemSelectido}" />
                                    </p:chart>
                                    <p:growl id="growl"/>
                                </div>

您的 post 中可能遗漏了一些内容,但是:

1) 你需要用 @ManagedBean

注释你的 Bean

2) 您需要将 BarChartModel 声明为 class 属性 private BarChartModel modelChart;

3) 您应该将图表和 ajax 放在一个表单中,如下所示:

<h:form>
    <p:growl id="growl" showDetail="true" />
    <div style="width: 100%; height: 60%; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto;">
        <p:chart type="bar" model="#{contractsBean.modelChart}">
            <p:ajax event="itemSelect" listener="#{contractsBean.itemSelectido}" update="growl" />
        </p:chart>
        <p:growl id="growl"/>
    </div>
</h:form>

4) 请注意,我还在 p:ajax 标签

上添加了一个 update="growl"