Bom dia pessoal!
Estou precisando de uma grande ajuda.
Estou tentando popular uma combo box usando as tags do struts. Uma tarefa que parecia simples, se tornou um tormento nesse momento, espero que vcs consigam me ajudar.
Estou tentando popular no meu combo uma lista de inteiros, não sei se esse pode ser o problema.
No meu form crio uma lista de inteiros, na minha action seto o atributo e ainda crio um método que é uma lista de inteiros.
Vou passar uns códigos abaixo pra ficar mais fácil de entender.
Formpublic class ReajusteForm extends ValidatorForm {
private static final long serialVersionUID = 1L;
private String id;
private String nrAno;
private String prJaneiro;
private String prFevereiro;
private String prMarco;
private String prAbril;
private String prMaio;
private String prJunho;
private String prJulho;
private String prAgosto;
private String prSetembro;
private String prOutubro;
private String prNovembro;
private String prDezembro;
private String dataTimestamp;
private String respAlteracao;
private String alterarReajuste;
private String incluirReajuste;
private String carregarReajuste;
private int[] listaAno;
public int[] getListaAno() {
return listaAno;
}
public void setListaAno(int[] listaAno) {
this.listaAno = listaAno;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAlterarReajuste() {
return alterarReajuste;
}
public void setAlterarReajuste(String alterarReajuste) {
this.alterarReajuste = alterarReajuste;
}
public String getIncluirReajuste() {
return incluirReajuste;
}
public void setIncluirReajuste(String incluirReajuste) {
this.incluirReajuste = incluirReajuste;
}
public String getCarregarReajuste() {
return carregarReajuste;
}
public void setCarregarReajuste(String carregarReajuste) {
this.carregarReajuste = carregarReajuste;
}
public String getNrAno() {
return nrAno;
}
public void setNrAno(String nrAno) {
this.nrAno = nrAno;
}
public String getPrJaneiro() {
return prJaneiro;
}
public void setPrJaneiro(String prJaneiro) {
this.prJaneiro = prJaneiro;
}
public String getPrFevereiro() {
return prFevereiro;
}
public void setPrFevereiro(String prFevereiro) {
this.prFevereiro = prFevereiro;
}
public String getPrMarco() {
return prMarco;
}
public void setPrMarco(String prMarco) {
this.prMarco = prMarco;
}
public String getPrAbril() {
return prAbril;
}
public void setPrAbril(String prAbril) {
this.prAbril = prAbril;
}
public String getPrMaio() {
return prMaio;
}
public void setPrMaio(String prMaio) {
this.prMaio = prMaio;
}
public String getPrJunho() {
return prJunho;
}
public void setPrJunho(String prJunho) {
this.prJunho = prJunho;
}
public String getPrJulho() {
return prJulho;
}
public void setPrJulho(String prJulho) {
this.prJulho = prJulho;
}
public String getPrAgosto() {
return prAgosto;
}
public void setPrAgosto(String prAgosto) {
this.prAgosto = prAgosto;
}
public String getPrSetembro() {
return prSetembro;
}
public void setPrSetembro(String prSetembro) {
this.prSetembro = prSetembro;
}
public String getPrOutubro() {
return prOutubro;
}
public void setPrOutubro(String prOutubro) {
this.prOutubro = prOutubro;
}
public String getPrNovembro() {
return prNovembro;
}
public void setPrNovembro(String prNovembro) {
this.prNovembro = prNovembro;
}
public String getPrDezembro() {
return prDezembro;
}
public void setPrDezembro(String prDezembro) {
this.prDezembro = prDezembro;
}
public String getDataTimestamp() {
return dataTimestamp;
}
public void setDataTimestamp(String dataTimestamp) {
this.dataTimestamp = dataTimestamp;
}
public String getRespAlteracao() {
return respAlteracao;
}
public void setRespAlteracao(String respAlteracao) {
this.respAlteracao = respAlteracao;
}
}
Action
[code]
public class CarregarReajusteAction extends PfpAction {
@Override
public String executar(ActionMapping mapping, ActionForm actionForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ReajusteControlador controlador = new ReajusteControlador();
PfpDataTransferObject dto = (PfpDataTransferObject) controlador.execute(controlador.LISTAR, getDTO());
Collection result = (Collection)dto.getObject(ConstantesAplicacao.LISTAR);
ReajusteForm formReajuste = new ReajusteForm();
//int anos[] = anoList();
//formReajuste.setListaAno(anos);
String[] listaAno = {"2006","2007","2008","2009"};
request.setAttribute("listaAnos" ,listaAno);
//int anoAtual = new GregorianCalendar().get(Calendar.YEAR);
//formReajuste.setNrAno(Integer.toString(anoAtual));
//request.setAttribute("anoAtual" , anoAtual);
request.setAttribute("listaReajuste", result);
return SUCESSO;
}
public int[] anoList(){
int anoAtual = new GregorianCalendar().get(Calendar.YEAR);
int anoInicio = 2006; //Solicitado pelo Cliente
int range = anoAtual - anoInicio;
int rangeTotal = anoInicio + range + 10;
int[] listaAno = new int[rangeTotal];
for ( int i =0 ; anoInicio+i < rangeTotal +1 ; i++){
listaAno[i] = anoInicio + i;
}
return listaAno;
}
}
jsp
<td>
<html:select property="listaAno" onchange="javascript:carregarComboAno(this)">
<html:options property="listaAnos" />
</html:select>
</td>
Agradeço desde já,
Vitor