Boa Tarde a todos,
Estou criando uma coleção de Anos e gostaria de fazer isso dinamicamente.
Vou tentar explicar o mecanismo da coisa.
Preciso criar uma coleção com Ano, onde a coleção comece com o ano de 2006 + Ano Atual + 10 anos para frente.
Exemplo: Irei carregar um combo com os seguintes valores: 2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2016,2017,2018,2019.
Quando a página é carregada, a combo irá vir com o ano atual selecionado. E a medida que os anos forem se passando, os anos vão aumentando.
A outra pergunta que faço é, onde coloco esse array de ano?
Estou usando Struts 1.3, teria que chamar isso na Action?
Desde já agradeço,
Vitor Bonfim
[quote=vitorbonfim]Boa Tarde a todos,
Estou criando uma coleção de Anos e gostaria de fazer isso dinamicamente.
Vou tentar explicar o mecanismo da coisa.
Preciso criar uma coleção com Ano, onde a coleção comece com o ano de 2006 + Ano Atual + 10 anos para frente.
Exemplo: Irei carregar um combo com os seguintes valores: 2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2016,2017,2018,2019.
Quando a página é carregada, a combo irá vir com o ano atual selecionado. E a medida que os anos forem se passando, os anos vão aumentando.
A outra pergunta que faço é, onde coloco esse array de ano?
Estou usando Struts 1.3, teria que chamar isso na Action?
[/quote]
Sim. Mas vc usa uma Collection, não um array.
public YearList extends AbstractList<Integer> {
public YearList (int startYear, int range){
for ( int i =0 ; i < range +1 ; i++){
this.add(startYear + i);
}
}
public int getCurrent(){
return new GregorianCalendar().get(Calendar.YEAR);
}
}
uso
// na action
request.setAttribute("years" , new YearCollection());
// no jsp
<select>
<c:forEach items="${years}" var="year">
<option value="${item} />
</c:forEach>
</select>
Muito Obrigado Sergio!!!
Tenho uma outra pergunta, essa classe YearList eu uso no meu Bean?
Obrigado!
[quote=vitorbonfim]Muito Obrigado Sergio!!!
Tenho uma outra pergunta, essa classe YearList eu uso no meu Bean?
[/quote]
Como assim usa no bean ? Se vai ter um campo do tipo YearList ? não.
Se vai poder utilizar a classe para validações e calculos,sim.
por exemplo, para validar o submit vc faz
int year = .. lê do request.
if(!new YearList.contains(year)){
// erro. passou ano fora do intervalo permitido.
}