1
我有一個使用PrimeFaces 6.0的JSF的Java應用程序 DeviceManager是一個包含聯機和脫機和阻止設備列表的bean。每個設備都有班級中的2個圖表模型,「撥號」和「線路」。以下是相關的代碼段p:chart將所有圖表渲染爲線圖
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title><ui:insert name="title">Title</ui:insert></title>
<h:outputStylesheet library="css" name="primeui-all.min.css" />
<h:outputStylesheet library="css" name="bootstrap.min.css" />
<h:outputStylesheet library="css" name="jquery.jqplot.min.css" />
<h:outputScript library="js" name="primeui-all.min.js" />
<h:outputScript library="js" name="jquery.jqplot.min.js"/>
</h:head>
<p:dataTable id="OnlineDevices" var="device" value="#{DeviceManager.online}">
<p:column headerText="Gauge Meter" class="col-md-4" >
<p:panel>
<p:chart type="metergauge" model="#{device.dial}" style="height:300px;"/>
</p:panel>
</p:column>
</p:dataTable>
這是含有被複制從Primefaces展示,以消除模型
private MeterGaugeChartModel Dial;
public MeterGaugeChartModel getDial()
{
Dial = initMeterGaugeModel();
Dial.setTitle("Device Dial");
Dial.setGaugeLabel("°C");
Dial.setSeriesColors("66cc66,93b75f,E7E658,cc6666");
Dial.setGaugeLabelPosition("bottom");
Dial.setShowTickLabels(false);
Dial.setLabelHeightAdjust(110);
Dial.setIntervalOuterRadius(100);
return Dial;
}
private MeterGaugeChartModel initMeterGaugeModel()
{
List<Number> intervals = new ArrayList<Number>()
{
private static final long serialVersionUID = -311244463402628794L;
{
add(20);
add(50);
add(120);
add(220);
}};
return new MeterGaugeChartModel(140, intervals);
}
現在這個工作的,情節的任何問題的圖表型號的設備類,只有所有的圖都呈現爲空的折線圖。折線圖正確工作和繪圖,但其他所有內容都呈現爲空線圖。我用輪詢表來更新圖表數據,並使用螢火蟲檢查服務器發送的數據,它說類型metergauge。那麼爲什麼它會呈現(連同其他所有內容)?非常感謝和歡迎所有的建議。
所以它適用於PrimeFaces 5.3?爲什麼手動包含所有jqplot css和js?爲什麼primeui js和css?奇怪的組合。首先刪除它。 – Kukeltje
確定它現在的作品...這是從一個模板的標題,我不知道爲什麼地球上它是這樣的...提交作爲答案,我會接受並感謝百萬注意到! –
如果你按照創建一個[mcve]的步驟,你可以很容易地找到這個參見http://www.stackoverflow.com/tags/jsf/info – Kukeltje