我正在使用PrimeFaces 6.0,我想在我的JSF项目上测试ChartJS . 问题是我收到此错误:
导入org.primefaces.model.charts无法解析
我尝试了所有可能的解决方案,例如清理,刷新和更新项目 . 我还尝试了最新的PrimeFaces版本5/6 / 6.1 / 6.2其他主题中给出的解决方案与PrimeFaces Chart等其他导入相关,而我正在尝试使用PrimeFaces ChartJS . 这是我从中获取的代码:https://www.primefaces.org/showcase/ui/chartjs/donut.xhtml
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import org.primefaces.model.charts.ChartData;
import org.primefaces.model.charts.donut.DonutChartDataSet;
import org.primefaces.model.charts.donut.DonutChartModel;
@ManagedBean
public class ChartJsView implements Serializable {
private DonutChartModel donutModel;
@PostConstruct
public void init() {
createDonutModel();
}
public void createDonutModel() {
donutModel = new DonutChartModel();
ChartData data = new ChartData();
DonutChartDataSet dataSet = new DonutChartDataSet();
List<Number> values = new ArrayList<>();
values.add(300);
values.add(50);
values.add(100);
dataSet.setData(values);
List<String> bgColors = new ArrayList<>();
bgColors.add("rgb(255, 99, 132)");
bgColors.add("rgb(54, 162, 235)");
bgColors.add("rgb(255, 205, 86)");
dataSet.setBackgroundColor(bgColors);
data.addChartDataSet(dataSet);
List<String> labels = new ArrayList<>();
labels.add("Red");
labels.add("Blue");
labels.add("Yellow");
data.setLabels(labels);
donutModel.setData(data);
}
public DonutChartModel getDonutModel() {
return donutModel;
}
public void setDonutModel(DonutChartModel donutModel) {
this.donutModel = donutModel;
}
}
1 回答
ChartJs是PrimeFaces 6.2.9 Elite版本的全新版本 .
因此,如果您想使用这些新的ChartJ,您要么必须是Elite用户,要么自己从Github的源代码构建6.3-SNAPSHOT .