Senhores,
Como estou começando a mexer com web agora , estou precisando de uma ajuda para apresentar o Layout a seguir em uma pagina JSP.
Hoje o Layout está assim:
Metrica | Periodo | Resultado
I1 | 01/02 | 1%
I1 | 02/02 | 8%
I11| 01/02 | 0%
I11| 02/02 | 10%
o que eu preciso é isso:
01/02 02/02
I1 | 1% | 8%
I11| 0% | 10%
Segue os codigos que estou utlizando:
No JSP:
<table border="1">
<tr>
<td>Métrica</td>
<td>Periodo</td>
<td>Valor</td>
</tr>
<logic:iterate id="metricaVo" name="metricaConData">
<tr bgcolor="#CCCCCC">
<td align="right"><bean:write name="metricaVo" property="metrica"/></td>
<td align="right"><bean:write name="metricaVo" property="periodo"/></td>
<td align="right">
<font color= <%((MetricaVo)metricaVo).getLimiteCor(); %> />
<bean:write name="metricaVo" property="metricaValue" format="#,##0.00%"/>
</font>
</td>
</tr>
</logic:iterate>
</table>
</center>
No Bean:
ArrayList retorno = new ArrayList();
TreeMap metricaMap = new TreeMap();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date tempDate = dataIni;
GregorianCalendar cal = new GregorianCalendar();
for (int i=0; i<metricaList.length;i++)
{
DaoFactory df = DaoFactory.getDaoFactory(DaoFactory.DATASOURCE);
try{
//criando daos de acesso
IdDadosDao idDadosdao = df.getIdDadosDao(new String[]{});
IdMetricasDao idMetricasDao = df.getIdMetricasDao(new String[]{});
String[] ids = null;
//pesquisa os IDs da métrica
ids = idMetricasDao.getMetricaIds(metricaList[i]);
System.out.println(metricaList[i]);//retirar essa linha
//pesquisa os valores dos IDs em um período
IndicadorVo[] idLista =
idDadosdao.getIdMetricaData(dataIni, dataFin, ids);
for (int y = 0; y >< idLista.length; y++) {
String strDate = idLista[y].getPeriodo();
cal.set(Integer.parseInt(strDate.substring(0, 4)),
Integer.parseInt(strDate.substring(4, 6)) - 1,
Integer.parseInt(strDate.substring(6, 8)));
MetricaVo vo = (MetricaVo)metricaMap.get(cal.getTime());
if (vo == null){
vo = idMetricasDao.getMetrica(metricaList[i]);
}
double tempValor = 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);
}
Iterator it = metricaMap.entrySet().iterator();
while (it.hasNext()){
Entry entry = (Entry)it.next();
retorno.add((MetricaVo)entry.getValue());
}
metricaMap = new TreeMap();
} catch (DaoException daoEx){
throw new TechnicalException("Ocorreu uma exceção ao acessar o banco de dados: ", daoEx);
}
}
return (retorno);
Já recebi algumas orientações que devo fazer 3 iterações para fazer esse Layout.
Agora minha duvida é a seguinte, essas iterações vou fazer no JSP?
Se sim, como farei isso?
Obrigado,
Fabiano