错误 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"
我在点击条形图项目时遇到错误 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
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"