Pessoal, estou desenvolvendo um projeto com Struts/Hibernate
mas estou com 2 grandes problemas
-
desenvolvi uma view que mostra todos os municipios e estados cadastrados no banco de dados, e um formulario para cadastrar mais.
Um action que testa se o formulário é diferente de null e insere no banco, depois busca dotos os municipios e estados e salva um ArrayList de BEANS que contem esses valores do REQUEST…
Aqui acontece meu problema, eu preciso validar o formBean, entao coloquei a funcao validade(…) dentro da minha classe que extende ActionForm … esse validade testa se os valores sao validos, se nao forem retorna um erro… (padrao STRUTS)
acontece que se o erro acontecer (usuario nao preencheu corretamente o formulario) o request da pagina deixa de existir (obvio) e a lista de municipios cadastrados nao aparece mais…
Tem como eu recolocar no request essa lista, mesmo ocorronde o erro? Sera que eu deveria retirar a validação do Form e colocar no Action? utilizar algun plugin ?
-
essa é rapida: alguem tem algum exemplo que como abrir conexão corretamente com Struts-Hibernate?
Caro colega,
segue um exempo que você pode utilizar na sua classe de action:
Obs. Observe no final do exemplo onde será verificada uma lista de erros, ou seja é verificado se existe algum erro “errors.isEmpty”. Se existir, os erros são salvados no request da sua aplicação com o método
saveErrors(request, errors) que é herdado da superclasse Action. Com isso o seu jsp já irá capturar os erros com <html:errors/>
if (!errors.isEmpty()){
saveErrors(request, errors);
return (mapping.findForward(“falha”));
}
ActionErrors errors = new ActionErrors();
if (!(usuario.equals(login.getUsuario())&&senha.equals(login.getSenha()))){
errors.add(“login”, new ActionError(“login.validacao”));
}else{
ArrayList lista = new ArrayList();
Permissao permissao = new Permissao();
permissao.setFuncionalidade("Cadastro de Cliente");
lista.add(permissao);
permissao = null;
permissao = new Permissao();
permissao.setFuncionalidade("Manutenção de Assinatura");
lista.add(permissao);
usua.setLista(lista);
usua.setNome(nome);
usua.setSenha(senha);
usua.setUsuario(usuario);
usua.setSistema(sistema);
request.getSession().setAttribute("usuario", usua);
request.getSession().setAttribute("permissoes", lista);
}
if (!errors.isEmpty()){
saveErrors(request, errors);
return (mapping.findForward(“falha”));
}
Atenciosamente,
Thiago