我想在DataTable中使用LineChart。在每個'行'我想要一個不同的LineChart。之前我已經使用了graphicImage的標籤連接到的JFreeChart並傳遞我想通過使用下面的代碼片段(其中車是我從SessionScoped支持bean的車陣數據表變量)來繪製對象的OBJID:在DataTable中使用Primefaces圖表
<p:graphicImage value="#{carBean.graphById}">
<f:param name="objId" value="#{car.objId}" />
</p:graphicImage>
的OBJID然後在背襯豆通過檢查要求參數映射圖檢索到:
FacesContext context = FacesContext.getCurrentInstance();
String objId = context.getExternalContext().getRequestParameterMap().get("objId");
這是所有工作的罰款。但是現在我想用funkier PrimeFaces圖表所以我想它應該是很容易使用下面的代碼來代替:
<p:lineChart value="#{carBean.graphById" title="Linear Chart" style="width:400px;" widgetVar="chart" >
<f:param name="objId" value="#{car.objId}" />
</p:lineChart>
的支持bean方法ofcourse返回CartesianChartModel
而不是StreamedContent
。現在的問題是context.getExternalContext().getRequestParameterMap().get("objId")
返回null,而不是像以前那樣返回實際的ID。 f:參數lineChart
與graphicImage
沒有相同的工作方式?
我如何實現lineChart的相同結果?我可以以某種方式獲得傳遞給backing bean的變量,以便bean知道要在系列中放置什麼值?
我在Glassfish 3.1.2上使用Primefaces 3.5和JSF 2.1。
我不明白你爲什麼沒有爲你的目的使用dataTable的'var'屬性。 – perissf 2013-05-03 09:45:04
我的var屬性是'car',所以你建議我應該有一個car.graph類的方法? – MrKiane 2013-05-03 09:47:36
是的,如果我理解得好,這應該符合你的目的。 – perissf 2013-05-03 09:53:05