Java primefaces折线图的问题

Java primefaces折线图的问题,java,jsf,primefaces,Java,Jsf,Primefaces,primefaces标记有两个问题 这是我的backbean代码: public class LiveChartBean { private Integer primaryKey; public Integer getPrimaryKey() { return primaryKey; } public void setPrimaryKey(Integer primaryKey) { this.primaryKey = pri

primefaces
标记有两个问题

这是我的backbean代码:

public class LiveChartBean {
    private Integer primaryKey;


    public Integer getPrimaryKey() {
        return primaryKey;
    }


    public void setPrimaryKey(Integer primaryKey) {
        this.primaryKey = primaryKey;
    }


    public List<ChartData> getChartData() {
        return MonitoringManager.getChartData(3);
    }

}
在class
com.pardis.healthMonitor.LiveChartBean
上设置为value
null

  • getChartData()
    方法只调用了七次


  • 我认为问题1是因为您的bean在请求范围内

    如果您使用的是JSF2,那么可以在中编写视图而不是请求

    查看

    如果您使用的是JSF1.2和RichFaces,那么可以使用

    <a4j:keepAlive name="ChartBean" />
    

    谢谢你的回复,但我认为这些问题都是错误

    第一个问题可以通过使用
    标记来解决

    我用以下方法解决了第二个问题:

    <p:lineChart id="Chart" value="#{ChartBean.chartData}" var="data" xfield="#{data.index}">
        <p:chartSeries  label="ResponseTime" value="#{data.data}" />
    </p:lineChart>
    <p:poll interval="5" actionListener="#{ChartBean.refresh}" update="Chart" />
    
    
    

    通过将
    live
    属性设置为false,然后使用
    标记刷新图表,可以正常工作。

    什么时候出现问题1?您希望调用getChartData()多少次?当图表尝试刷新时,我遇到了问题1。我希望getChartData()在包含窗口关闭之前被调用我不想帮助谷歌代码,因为它因为政治问题禁止我的国家!
     javax.el.ELException: Can't set property 'primaryKey' 
    
    <a4j:keepAlive name="ChartBean" />
    
    session.removeAttribute("ChartBean");
    
    <p:lineChart id="Chart" value="#{ChartBean.chartData}" var="data" xfield="#{data.index}">
        <p:chartSeries  label="ResponseTime" value="#{data.data}" />
    </p:lineChart>
    <p:poll interval="5" actionListener="#{ChartBean.refresh}" update="Chart" />