Sou iniciante em Java Web. Estou seguindo uma vídeo aula, mas quero fazer uma modificação e estou tendo dificuldade. A função é um botão de excluir em um arquivo xhtml, chamando um ManagedBean que faz a exclusão e depois envia uma mensagem de sucesso.
Atualmente, o programa exclui e envia a mensagem, mas mantem com os dados excluídos nos campos, o que gera um pouco de confusão. Caso a pessoa exclua novamente, o programa gera a mensagem de erro dizendo que o dado é null. Então, em termos de operação está funcionando certinho, mas gostaria que ao apertar o botão, a mensagem fosse mostrada na tela e depois que a página fosse redirecionada a outra (por exemplo, de uma página de cadastro para uma de listagem).
Seguem os códigos:
xhtml:
p:commandButton value=“Excluir” actionListener="#{fabricanteBean.excluir()}" update=":msgGlobal" rendered="#{fabricanteBean.acao == ‘Excluir’}"/>
ManagedBean
public void excluir() { try { FabricanteDAO fabricanteDAO = new FabricanteDAO(); fabricanteDAO.excluir(fabricanteCadastro); FacesUtil.adicionarMsgInfo("Fabricante excluído com sucesso."); } catch (RuntimeException e) { FacesUtil.adicionarMsgErro("Erro ao excluir um fabricante: " + e.getMessage()); } }
Alguma ideia de como fazer as duas ações, primeiro mostrar a mensagem e depois redirecionar a página?
Eu já tentei colocar o action no xhtml, mas ele direciona sem aparecer a mensagem, o que pode gerar uma dúvida ao usuário se o dado realmente foi apagado, principalmente quando tiver muitos dados no banco.
Obrigado.