简体   繁体   English

PrimeFaces PieChart无法正常工作

[英]PrimeFaces PieChart not working

im having trouble getting the basic primefaces pie chart working. 即时通讯无法使基本的Primefaces饼图正常工作。 im using primefaces 4.0, eclipse kepler and glassfish 4.0 The error im getting is: 即时通讯使用primefaces 4.0,日食开普勒和glassfish 4.0即时通讯错误是:

java.lang.ClassCastException: java.lang.String cannot be cast to org.primefaces.model.chart.PieChartModel

xhtml: xhtml:

<p:pieChart value="chart.model" legendPosition="w" />

Java: Java:

package server;

import org.primefaces.model.chart.PieChartModel;
import javax.annotation.PostConstruct;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;

public class Chart  implements Serializable
{

    private static final long serialVersionUID = 1L;

    private PieChartModel model;
    public Chart()
    {
        model = new PieChartModel();
        model.set("Brand1", 540);
        model.set("Brand2", 325);
        model.set("Brand3", 702);
        model.set("Brand4", 421);       
    }
    public PieChartModel getModel()
    {
        return model;
    }
}

Any ideas what I am doing wrong? 有什么想法我做错了吗? Thanks 谢谢

Your error comes from this: 您的错误来自此:

<p:pieChart value="chart.model" legendPosition="w" />

Your value should be: value="#{chartBean.chart.model}" 您的值应为: value="#{chartBean.chart.model}"

Where chartBean is an annotated ManagedBean. 其中chartBean是带注释的ManagedBean。

@ManagedBean(name="chartBean")
@YOURSCOPE (might be Request, Session etc...)
public class ChartBean implements Serializable{
  Chart chart;

  //you should initialize your bean in the constructor, or somewhere in the class, like
  public ChartBean(){
    ...
    Chart = new Chart();
    ...
  }

  public Chart getChart(){
    return this.chart;
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM