Iniciando Estudos - Dúvida em JSF+Hibernate+MySQL
Bom dia Pessoal.
Iniciei faz pouco tempo um estudo com JSF+JPA+Hibernate+MySQL e estou com uma dúvida, será que alguém pode auxiliar? É o seguinte, desenvolvi um cadastro bem simples e gostaria que apos SALVAR ao inves de ir para a pagina sucesso.xhtml, gostaria de um refresh na tela para exibir em minha lista o novo valor inserido.
O Cadastro ja funciona certinho o SALVAR, porém, esta funcionalidade como se fosse um "REFRESH" nao estou conseguindo configurar. Alguém como faz?
CLASSE CONTROLADORA
package br.com.orcamentoagil.controle;
import br.com.orcamentoagil.dao.EstadoDao;
import br.com.orcamentoagil.dao.EstadoDaoException;
import br.com.orcamentoagil.dao.EstadoInterfaceDao;
import br.com.orcamentoagil.modelo.Estado;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.util.List; @ManagedBean(name = "estados")
@SessionScoped
public class EstadoControle { private Estado estado;
private List<Estado> todos;
public EstadoControle(){
estado = new Estado();
EstadoInterfaceDao estadodao = new EstadoDao();
todos = estadodao.listarTodos();
} public Estado getEstado() {
return estado;
} public void setEstado(Estado estado) {
this.estado = estado;
} public List<Estado> getTodos() {
return todos;
} public void setTodos(List<Estado> todos) {
this.todos = todos;
} public String salvar() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.salvar(estado);
return "gravar_sucesso";} public String alterar() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.alterar(estado);
return "alterar_sucesso";} public String escluir() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.excluir(estado);
return "excluir_sucesso";}
} FACES-CONFIG.XML <?xml version='1.0' encoding='UTF-8'?> <!-- =========== FULL CONFIGURATION FILE ================================== --> <faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"> <managed-bean>
<description>O Bean EstadoControler</description>
<managed-bean-name>estados</managed-bean-name>
<managed-bean-class>br.com.orcamentoagil.controle.EstadoControle</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/estado.xhtml</from-view-id>
<navigation-case>
<from-outcome>gravar_sucesso</from-outcome>
<to-view-id>/sucesso.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>erro</from-outcome>
<to-view-id>/erro.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>index</from-outcome>
<to-view-id>/index.xhtml</to-view-id>
</navigation-case>
</navigation-rule> </faces-config> INDEX.XHTML
Tenho um <h:form> <h:commandButton> <h:dataTable> etc...... Como citei estou estudando, se alguem tiver outras sujestões ficaria grato. Obrigado
import br.com.orcamentoagil.dao.EstadoDaoException;
import br.com.orcamentoagil.dao.EstadoInterfaceDao;
import br.com.orcamentoagil.modelo.Estado;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.util.List; @ManagedBean(name = "estados")
@SessionScoped
public class EstadoControle { private Estado estado;
private List<Estado> todos;
public EstadoControle(){
estado = new Estado();
EstadoInterfaceDao estadodao = new EstadoDao();
todos = estadodao.listarTodos();
} public Estado getEstado() {
return estado;
} public void setEstado(Estado estado) {
this.estado = estado;
} public List<Estado> getTodos() {
return todos;
} public void setTodos(List<Estado> todos) {
this.todos = todos;
} public String salvar() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.salvar(estado);
return "gravar_sucesso";} public String alterar() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.alterar(estado);
return "alterar_sucesso";} public String escluir() throws EstadoDaoException {
EstadoInterfaceDao estadodao = new EstadoDao();
estadodao.excluir(estado);
return "excluir_sucesso";}
} FACES-CONFIG.XML <?xml version='1.0' encoding='UTF-8'?> <!-- =========== FULL CONFIGURATION FILE ================================== --> <faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"> <managed-bean>
<description>O Bean EstadoControler</description>
<managed-bean-name>estados</managed-bean-name>
<managed-bean-class>br.com.orcamentoagil.controle.EstadoControle</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/estado.xhtml</from-view-id>
<navigation-case>
<from-outcome>gravar_sucesso</from-outcome>
<to-view-id>/sucesso.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>erro</from-outcome>
<to-view-id>/erro.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>index</from-outcome>
<to-view-id>/index.xhtml</to-view-id>
</navigation-case>
</navigation-rule> </faces-config> INDEX.XHTML
Tenho um <h:form> <h:commandButton> <h:dataTable> etc...... Como citei estou estudando, se alguem tiver outras sujestões ficaria grato. Obrigado
Renato Vieira
Curtidas 0
Respostas
Dyego Carmo
14/07/2010
Opa!
Logo apos salvar voce deve adicionar MANUALMENTE na lista "todos"
Ou recuperar do banco novamente :)
Valeuz !
Logo apos salvar voce deve adicionar MANUALMENTE na lista "todos"
Ou recuperar do banco novamente :)
Valeuz !
GOSTEI 0
Renato Vieira
14/07/2010
Olá Dyego.
Obrigado pelo retorno.
Como faço para recuperar este o "todos"? No faces-config? na Classe Controladora? ou no arquivo .XHTML?
Todas as funcionalidades estão funcionando legal como: salvar,alterar e excluir, porém, como citei anteriormente
após clicar nestes botoes gostaria de mostrar a lista atualizada em meu xhtml.
Abraços e novamente valeus!
Renato
GOSTEI 0
Camilo Lopes
14/07/2010
ja que ta iniciando depois dar uma olhada neste post: http://blog.camilolopes.com.br/jsf-hibernate-mysql-no-eclipse/
flw!
flw!
GOSTEI 0
Renato Vieira
14/07/2010
Bom dia Camilo. Obrigado pelo Artigo.
Meus estudos iniciaram justamente neste link que você enviou e foi de extrema importância na ocasião. Porém, minha dúvida é fazer um refresh na página atual após SALVAR, ALTERAR OU EXCLUIR e mostrar a listagem atualizada com o novo registro. Estou pesquisando no GOOGLE mas não encontro nada direto. As vezes é coisa bem simples, mas eu como iniciante, estou batendo a cabeça..
Forte Abraço!
Renato
GOSTEI 0
Dyego Carmo
14/07/2010
Utilize AJAX...
ou A4J.... ou JSF 2.0
ou A4J.... ou JSF 2.0
GOSTEI 0
Carlos Mazzi
14/07/2010
Deu certo amigao?
GOSTEI 0
Dyego Carmo
14/07/2010
Novidades ?
GOSTEI 0