“Nível”和“Nivel”。 我只想要一个传奇。但我有两个被生成。到底是怎么回事?谁解决了这个问题? 另一个问题,我已经在这篇文章中详细介绍了我需要发布的更多细节...... XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:namespace="http://java.sun.com/jsf/composite/namespace"
xmlns:sec="http://www.springframework.org/security/facelets/tags">
<ui:composition template="Template.xhtml">
<ui:define name="content">
<div class="content_wrapper">
<div class="content">
<h:form id="formtest">
<p:growl id="meuGrowl" />
<p:poll interval="5" listener="#{PortaBean.verificarplaca}"
update="meuGrowl" />
</h:form>
<h:form id="formtest1">
<p:growl id="meuGrowl1" />
<p:poll interval="60" listener="#{PortaBean.Grafico}"
update="meuGrowl1" />
</h:form>
<h:form id="formtest2">
<p:growl id="meuGrowl2" />
<p:poll interval="5" listener="#{PortaBean.verificarPorta}"
update="meuGrowl2" />
</h:form>
<h:form id="formGrid">
<p:selectOneMenu value="#{chartView.reservatorio.idReservatorio}"
style="width:170px" required="true"
requiredMessage="Selecione algum.">
<f:selectItem itemLabel="Selecione o Reservatório" itemValue="0" />
<f:selectItems value="#{chartView.listaReservatorio}"
var="reservatorio" itemLabel="#{reservatorio.nomeReservatorio}"
itemValue="#{reservatorio.idReservatorio}" />
</p:selectOneMenu>
<p:calendar id="popup" value="#{chartView.data}" />
<p:commandButton value="Gerar gráfico" update="chart"
actionListener="#{chartView.LinearModel}" />
<p:chart id="chart" type="line" model="#{chartView.lineModel1}"
style="height:300px;" />
</h:form>
</div>
</div>
</ui:define>
</ui:composition>
</html>
豆:
@ManagedBean
public class ChartView implements Serializable {
private Grafico grafico = new Grafico();
private GraficoCrudAnnotations graficoDAO = new GraficoCrudAnnotations();
private List<Grafico> listaGrafico = new ArrayList<>();
private List<Grafico> listaGraficoFinal = new ArrayList<>();
private Reservatorio reservatorio = new Reservatorio();
private Reservatorio reservatorio1 = new Reservatorio();
private List<Reservatorio> listaReservatorio = new ArrayList<>();
private ReservatorioCrudAnnotations reservatorioDAO = new ReservatorioCrudAnnotations();
private Date data;
private LineChartModel lineModel1;
private GraficoBean Gb = new GraficoBean();
@PostConstruct
public void init() {
LinearModel();
}
public LineChartModel getLineModel1() {
return lineModel1;
}
private List<Grafico> Grafico = new ArrayList<>();
public List<Grafico> getGrafico() {
return Grafico;
}
public void setGrafico(List<Grafico> grafico) {
Grafico = grafico;
}
public void refreshChart() {
GraficoBean Gb = new GraficoBean();
Gb.gerarGrafico();
}
private void createLineModels() {
System.out.println("createLineModels()");
lineModel1 = (LineChartModel) LinearModel();
lineModel1.setTitle("Gráfico de Reservatório");
lineModel1.setLegendPosition("e");
Axis yAxis = lineModel1.getAxis(AxisType.Y);
yAxis.setLabel("Nível");
yAxis.setMin(0);
yAxis.setMax(100);
Axis xAxis = lineModel1.getAxis(AxisType.X);
xAxis.setLabel("Hora do dia");
xAxis.setMin(0);
xAxis.setMax(23);
xAxis.setTickInterval("1");
}
public CartesianChartModel LinearModel() {
LineChartModel model = new LineChartModel();
LineChartSeries series1 = new LineChartSeries();
// try{
// if(series1.getLabel().equalsIgnoreCase("Nivel"))
// {
// System.out.println("já existe legenda");
//
// }
// }
//
// catch(Exception e){
//
//
//
try{
LegendPlacement OUTSIDE=LegendPlacement.OUTSIDE;
series1.set(0, 0);
//series1.set(0, 0);
model.addSeries(series1);
series1.setLabel("Nível");
series1.setFill(true);
lineModel1 =(LineChartModel) model;
//lineModel1.setSeriesColors("58BA27,FFCC33,F74A4A,F52F2F,A30303");
//lineModel1.setExtender("chartExtender");
lineModel1.setTitle("Gráfico de Reservatório");
lineModel1.setLegendPlacement(OUTSIDE);
lineModel1.setLegendPosition("e");
Axis yAxis = lineModel1.getAxis(AxisType.Y);
yAxis.setMin(0);
yAxis.setMax(100);
yAxis.setLabel("Nível");
Axis xAxis = lineModel1.getAxis(AxisType.X);
xAxis.setLabel("Hora do dia");
xAxis.setMin(0);
xAxis.setMax(23);
xAxis.setTickInterval("1");
int nivel;
System.out.println("AQUI:: "+listaReservatorio.size());
try
{
System.out.println("Id do reservatorio: "+reservatorio.getIdReservatorio());
DateFormat dataFormatada = new SimpleDateFormat("dd/MM/yyyy");
for (int i = 0; i < listaReservatorio.size(); i++) {
if (listaReservatorio.get(i).getIdReservatorio() == reservatorio
.getIdReservatorio()) {
reservatorio1 = listaReservatorio.get(i);
}
}
System.out.println("graficoDAO: "+graficoDAO.listar().size());
listaGrafico = graficoDAO.listar();
System.out.println("Meu reservatorio: "+reservatorio1.getNomeReservatorio());
String date;
for (int i = 0; i < listaGrafico.size(); i++) {
date = listaGrafico.get(i).getData().substring(0, 10);
if ((listaGrafico.get(i).getReservatorio().getIdReservatorio() == reservatorio1.getIdReservatorio()) && (dataFormatada.format(data).equalsIgnoreCase(date)) ) {
System.out.println("Dentro do IF: "+i);
listaGraficoFinal.add(listaGrafico.get(i));
System.out.println("Dentro do IF");
}
}
System.out.println("Lista Grafico final size: "+ listaGraficoFinal.size());
}catch(Exception e)
{
System.out.println("É NULA: "+e.getCause());
e.printStackTrace();
listaGraficoFinal=null;
}
System.out.println("InitLinear aqui");
if (listaGraficoFinal != null) {
System.out.println("AQUI O QUE INTERESSA Não é null");
try {
System.out.println("Tamanho:" + listaGraficoFinal.size());
for (int i = 23; i >= 0; i--) {
//System.out.println("Nivel: " + listaGraficoFinal.get(i).getNivel());
//System.out.println("Data: "
// + listaGraficoFinal.get(i).getData().substring(11, 13));
int x =listaGraficoFinal.get(i).getNivel();
int y =Integer.parseInt(listaGraficoFinal.get(i).getData().substring(11, 13));
System.out.println("X : "+x);
System.out.println("Y : "+y);
System.out.println("========================");
series1.set(y,x);
}
//series1.set(20, 20);
} catch (Exception e) {
System.out.println("Erro aqui 1: " + e.getCause());
System.out.println("Erro 2: ");
e.printStackTrace();
FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("Não existe informação o suficiente no banco para gerar o gráfico."));
}
} else {
System.out.println("Aqui é null");
series1.set(0, 0);
series1.set(0, 0);
}
}catch(Exception e){
FacesContext
.getCurrentInstance()
.addMessage(
null,
new FacesMessage(
"Selecione uma data em que exista informação."));
}
model.addSeries(series1);
return model;
}
public GraficoCrudAnnotations getGraficoDAO() {
return graficoDAO;
}
public void setGraficoDAO(GraficoCrudAnnotations graficoDAO) {
this.graficoDAO = graficoDAO;
}
public List<Grafico> getListaGrafico() {
return listaGrafico;
}
public void setListaGrafico(List<Grafico> listaGrafico) {
this.listaGrafico = listaGrafico;
}
public List<Grafico> getListaGraficoFinal() {
return listaGraficoFinal;
}
public void setListaGraficoFinal(List<Grafico> listaGraficoFinal) {
this.listaGraficoFinal = listaGraficoFinal;
}
public Reservatorio getReservatorio() {
return reservatorio;
}
public void setReservatorio(Reservatorio reservatorio) {
this.reservatorio = reservatorio;
}
public Reservatorio getReservatorio1() {
return reservatorio1;
}
public void setReservatorio1(Reservatorio reservatorio1) {
this.reservatorio1 = reservatorio1;
}
public List<Reservatorio> getListaReservatorio() {
return listaReservatorio=reservatorioDAO.listar();
}
public void setListaReservatorio(List<Reservatorio> listaReservatorio) {
this.listaReservatorio = listaReservatorio;
}
public ReservatorioCrudAnnotations getReservatorioDAO() {
return reservatorioDAO;
}
public void setReservatorioDAO(ReservatorioCrudAnnotations reservatorioDAO) {
this.reservatorioDAO = reservatorioDAO;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public void setGrafico(Grafico grafico) {
this.grafico = grafico;
}
答案 0 :(得分:0)
在我看来,你有这条线
model.addSeries(series1);
两次。我想这可以解释它。