Ao tentar abrir a pagina apresenta o seguinte erro:
[b]
javax.servlet.ServletException: ServletException in ‘/layouts/classicLayout.jsp’: ServletException in ‘/tiles/metricas/MetricaDadosCon.jsp’: Unable to compile class for JSP
An error occurred at line: -1 in the jsp file: null
Acho que terá q fazer duas iterações…uma para as métricas e outra para os períodos…
aí, acredito que vc consiga o q quer
tenta ae,
abraço
F
FabianoPatricio
Já tentei tambem e não consegui.
Olha como estou fazendo no Bean:
ArrayListretorno=newArrayList();MetricaVo[]metricaRetorno=null;TreeMapmetricaMap=newTreeMap();SimpleDateFormatformatter=newSimpleDateFormat("dd/MM/yyyy");DatetempDate=dataIni;GregorianCalendarcal=newGregorianCalendar();for(inti=0;i<metricaList.length;i++){DaoFactorydf=DaoFactory.getDaoFactory(DaoFactory.DATASOURCE);try{//criando daos de acessoIdDadosDaoidDadosdao=df.getIdDadosDao(newString[]{});IdMetricasDaoidMetricasDao=df.getIdMetricasDao(newString[]{});String[]ids=null;//pesquisa os IDs da métricaids=idMetricasDao.getMetricaIds(metricaList[i]);System.out.println(metricaList[i]);//retirar essa linha//pesquisa os valores dos IDs em um períodoIndicadorVo[]idLista=idDadosdao.getIdMetricaData(dataIni,dataFin,ids);for(inty=0;y><idLista.length;y++){StringstrDate=idLista[y].getPeriodo();cal.set(Integer.parseInt(strDate.substring(0,4)),Integer.parseInt(strDate.substring(4,6))-1,Integer.parseInt(strDate.substring(6,8)));MetricaVovo=(MetricaVo)metricaMap.get(cal.getTime());if(vo==null){vo=idMetricasDao.getMetrica(metricaList[i]);}doubletempValor=0;if(Double.isNaN(vo.getIdValor(idLista[y].getId()))){tempValor=idLista[y].getValor();}else{tempValor=idLista[y].getValor()+vo.getIdValor(idLista[y].getId());}vo.setPeriodo(formatter.format(cal.getTime()));vo.putIdValor(idLista[y].getId(),tempValor);metricaMap.put(cal.getTime(),vo);}Iteratorit=metricaMap.entrySet().iterator();while(it.hasNext()){Entryentry=(Entry)it.next();retorno.add((MetricaVo)entry.getValue());}metricaMap=newTreeMap();}catch(DaoExceptiondaoEx){thrownewTechnicalException("Ocorreu uma exceção ao acessar o banco de dados: ",daoEx);}}return(retorno);
Ele armazena em um ArrayList todos os objetos e os atributos dos meu objetos são:
Na hora que vai para a pagina JSP e na iteração eu peço para aparecer os atributos metrica e periodo é aonde repete os valores.
O que eu preciso é que não apareça com o mesmo nome.
luis.soares
Fabiano, acredito que você precisará ter alguma interações, a princípio 3. E a cada uma delas, você vai aplicando o filtro. Por exemplo, você vai ter uma lista com todos os períodos. A cada período que você escrever no html, você vai filtrar em uma outra lista ou no banco (prefira ter um buffer disso em uma lista), todas as métricas para aquela data, e então fazer uma interação nesta lista com as métricas, e também escrever no html. Depois aplica o filtro ainda dentro da interação da lista de data, em uma lista com os valores.
A lógica seria esta.
Minha opinião : Crie um novo tópico aqui no GUJ, com este assunto : “Preencher consulta ordenada” ou “Ajuda para preencher consulta com agrupamento”, algo do tipo.
Este tópico já está grande e o assunto está fora do escopo.
Abraço !
matheuscechito
só complementando…
concordo com o luis.soares na parte das iterações e para resolver o problema do layout, faça umexemplo do que vc quer em HTML simples que facilitará sua vida.