Fórum Erro no mapeamento entre paginas jsf #511616
23/02/2015
0
Arquivo index.xhtml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Gerenciador Financeiro Pessoal</title>
</head>
<body>
<h1>Gerenciador Financeiro Pessoal</h1>
<h:form>
<h:commandLink action = "#{usuarioBean.novo}"> Novo usuário </h:commandLink>
</h:form>
</body>
</html>
Arquivo usuario.xhtml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Cadastro de Usuários</title>
</h:head>
<h:body>
<h1>Cadastro de Usuários</h1>
<hr/>
<h:form>
<h:messages/>
<h:panelGrid columns = "2">
<h:outputLabel value = "Nome:" for = "nome"/>
<h:inputText id = "nome" label = "Nome" value = "#{usuarioBean.nome}" required = "true"/>
<h:outputLabel value = "e-Mail:" for = "email"/>
<h:inputText id = "email" label = "e-Mail" value = "#{usuarioBean.email}"/>
<h:outputLabel value = "Senha:" for = "senha"/>
<h:inputSecret id = "senha" label = "Senha" value = "#{usuarioBean.senha}" required = "true"/>
<h:outputLabel value = "Confirmar Senha:" for = "confirmarsenha"/>
<h:inputSecret id = "confirmarsenha" label = "Confirmar Senha" value = "#{usuarioBean.confirmaSenha}" required = "true"/>
<h:outputText/>
<h:commandButton action = "#{usuarioBean.salvar}" value = "Salvar"/>
</h:panelGrid>
</h:form>
<hr/>
</h:body>
</html>
Arquivo mostraUsuario.xhtml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Usuário Cadastrado</title>
</h:head>
<h:body>
<h1>Usuário Cadastrado</h1>
<hr/>
Nome: <h:outputText value = "#{usuarioBean.nome}"/> <br/>
e-Mail: <h:outputText value = "#{usuarioBean.email}"/> <br/>
Senha: <h:outputText value = "#{usuarioBean.senha}"/> <br/>
<hr/>
<h:form>
<h:commandLink action="usuario" value = "Início"/>
</h:form>
</h:body>
</html>
Classe UsuarioBean:
package financeiro.web;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
@ManagedBean(name = "usuarioBean")
@RequestScoped
public class UsuarioBean {
private String nome;
private String email;
private String senha;
private String confirmaSenha;
public String novo(){
return "usuario";
}
public String salvar(){
FacesContext context = FacesContext.getCurrentInstance();
if(!this.senha.equalsIgnoreCase(this.confirmaSenha)){
context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Senha confirmada incorretamente",""));
return "usuario";
}
//salva o usuário
return "mostraUsuario?faces-redirect=true";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getConfirmaSenha() {
return confirmaSenha;
}
public void setConfirmaSenha(String confirmaSenha) {
this.confirmaSenha = confirmaSenha;
}
}
Alisson Medeiros
Curtir tópico
+ 0Post mais votado
23/02/2015
1 - No seu método salvar() não vi em nenhum momento ele salvar de fato o objeto. Só retorna o usuário para a página mostraUsuario.
2 - Depois de salvar() você tem que gravar em algum atributo o usuário salvo, para poder recuperar no XHTML.
Ronaldo Lanhellas
Gostei + 1
Mais Posts
24/02/2015
Alisson Medeiros
1 - No seu método salvar() não vi em nenhum momento ele salvar de fato o objeto. Só retorna o usuário para a página mostraUsuario.
2 - Depois de salvar() você tem que gravar em algum atributo o usuário salvo, para poder recuperar no XHTML.
Ronaldo desculpe a pergunta pois sou iniciante na programação web, mas poderia ser mais claro dando um exemplo de como eu salvar no atributo pra recuperar no xhtml?
Gostei + 0
24/02/2015
Ronaldo Lanhellas
Se tiver este método você deve chamá-lo passando o objeto que deseja salvar no banco. Depois disso basta armazenar esse objeto em alguma variável dentro do seu ManagedBean, para que você possa recuperá-lo via XHTML.
Gostei + 1
24/02/2015
Alisson Medeiros
Se tiver este método você deve chamá-lo passando o objeto que deseja salvar no banco. Depois disso basta armazenar esse objeto em alguma variável dentro do seu ManagedBean, para que você possa recuperá-lo via XHTML.
Vlw ronaldo, ajudou bastante !
Gostei + 0
25/02/2015
Ronaldo Lanhellas
Gostei + 0
25/02/2015
Ronaldo Lanhellas
Gostei + 0
25/02/2015
Ronaldo Lanhellas
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)