2016-06-11 19 views
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。那麼爲什麼它會呈現(連同其他所有內容)?非常感謝和歡迎所有的建議。

+0

所以它適用於PrimeFaces 5.3?爲什麼手動包含所有jqplot css和js?爲什麼primeui js和css?奇怪的組合。首先刪除它。 – Kukeltje

+0

確定它現在的作品...這是從一個模板的標題,我不知道爲什麼地球上它是這樣的...提交作爲答案,我會接受並感謝百萬注意到! –

+0

如果你按照創建一個[mcve]的步驟,你可以很容易地找到這個參見http://www.stackoverflow.com/tags/jsf/info – Kukeltje

回答

1

所有自動包含的primefaces js(包括圖表的jqplot)與手動包含的jqplot和primeui css和js之間存在衝突。刪除它,它會工作。