Primefaces barchart not visible
primefaces 4.0 kullanıyorum. barchart veya herhangi bir primefaces chart componenti kullandığımda chart modeline veriler ekleniyor ama xhtml sayfasında chart görüntülenmiyor.
<p:barChart value="#{chartView.barModel}" style="height:300px"/>
Bean classım :
@PostConstruct public void init() { createBarModels(); } public CartesianChartModel getBarModel() { return barModel; } private CartesianChartModel createBarModels() { barmodel = new CartesianChartModel(); BarChartSeries boys = new BarChartSeries(); boys.setLabel("Boys"); boys.set("2004", 120); boys.set("2005", 100); boys.set("2006", 44); boys.set("2007", 150); boys.set("2008", 25); BarChartSeries girls = new BarChartSeries(); girls.setLabel("Girls"); girls.set("2004", 52); girls.set("2005", 60); girls.set("2006", 110); girls.set("2007", 135); girls.set("2008", 120); model.addSeries(boys); model.addSeries(girls); return barmodel; }
managed bean içindeki model hatasını düzelttim ama yinede göstermedi. Sorun javascript dosyaları ile alakalıymış. Aşağıdaki kodları jsf sayfasına ekleyince düzeldi :
<h:outputScript name="jquery/jquery.js" library="primefaces"/> <h:outputScript name="jquery/jquery-plugins.js" library="primefaces"/> <h:outputScript name="primefaces.js" library="primefaces"/> <h:outputScript name="charts/charts.js" library="primefaces"/> <h:outputStylesheet name="charts/charts.css" library="primefaces"/>
Managed bean inde hata olması lazım. global değişkenin barmodel ama sen model diye bir değişkene eklemeler yapıyorsun ve sonra barmodel i return ediyorsun. bu durumda barmodel in boş oldugu için tabi ki de birşey göstermemesi gerekir. PrimeFaces in kendi sayfasındaki barChart örneğini inceleyip doğru şekilde tekrar yazabilirsin.
http://www.primefaces.org/showcase/ui/chart/bar.xhtml
Primefaces M4 ve üstünde namespace sini tanımlaması şu şekilde olması gerek, sende de tanımlama bu şekilde mi ?
xmlns:p="http://primefaces.org/ui"
<p:barChart> etiketini <p:panel> içinde tanımlamayı denedin mi ?
Yani;
<p:panel> <p:barChart value="#{chartView.barModel}" style="height:300px"/> </p:panel>

hem panel hem form içinde yazdım ama yine de chart görüntülenemiyor.