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 ?
[code] @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;
}
}[/code]
<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
[code]@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;
}[/code]