[Struts2] Populando list p/ combobox a cada requisição

0 respostas
Aurelios

Olá pessoal,
Eu preciso executar um método que popula um ArrayList que na tela é um combobox
a cada requisição, porém não sei como faze-lo. se é atravez de um interceptor ou sei lá oque
vocês poderiam me ajudar ?

@Action(value = "recuperaListaAplicacao",  results = {
        @Result(name = SUCCESS, type = "json")})
    public String recuperaListaAplicacao() {
        try {
            listaAplicacoes = aplicacaoBO.buscaAplicacoes(new AplicacaoEntity());
             return SUCCESS;
        } catch (Exception ex) {
            addActionError(ex.getMessage());
            return ActionSupport.ERROR;
        }
       
    }
<s:select label="Aplicação"
                          list="listaAplicacoes"
                          listKey="idAplicacao"
                          listValue="nmAplicacao"
                          value="perfil.aplicacao.idAplicacao"
                          headerValue="[Selecione]"
                          headerKey="-1"
                          required="true"
                          name="perfil.aplicacao.idAplicacao"/>

Com essa solução eu tenho como evitar ficar chamando esse método em todos os outros métodos....
e agora cai em um problema pois estou usando o fullhibernateplugin com hibernate validator....
e ele utiliza um interceptor para validar os campos... daí quando caí na validação ele nem passa no método....
dai não popula o Arraylist

@Action(value = "gravaPerfil", interceptorRefs =
    @InterceptorRef("defaultStackHibernate"), results = {
        @Result(name = SUCCESS, location = "perfil", type = "tiles"),
        @Result(name = INPUT, location = "perfil", type = "tiles")})
    public String gravaPerfil() {
        recuperaListaAplicacao();
        try {
            perfilBO.gravar(perfil);            
            addActionMessage("Registro Gravado Com Sucesso !");
        } catch (Exception ex) {
            clearMessages();
            addActionError("Erro: " + ex.getMessage());
        }
        return SUCCESS;
    }
Criado 23 de abril de 2011
Respostas 0
Participantes 1