Navegacao de dados com o ManagedBean [RESOLVIDO]

3 respostas
ClaudioRamone

ola sou iniciante em java e estou tentando fazer uma navegação simples de dados estou utilizando o netbeans 7 apenas sem banco apenas para entender…criei uma classe usuario e um managedbean de usuario na classe declarei as variaveis e carreguei valores e no bean instanciei uma variavel do tipo usuario com get e set na camada d web eu estou tentando acessar estes valores mas estao vindo vazios alguem pode me ajudar e dizer pq? vou colocar a programação aqi abaixo desde ja agradeço

classe usuario

public class Usuario {
    private Integer cod =1;
    private String nome = "Teste";    

   public Usuario(){    
    

   }  

    public Integer getCod() {
        return cod;
    }

    public void setCod(Integer cod) {
        this.cod = cod;
    }

    public String getNome() {
       
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }   

 
}

ManagedBean

package app.bean;

import entity.Usuario;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author Claudio */
@ManagedBean
@RequestScoped
public class BeanUsuarios {
private Usuario user;

    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }

    
}

pagina web

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
                <h:form>
                <h:inputText value="#{beanUsuarios.user.nome}" />
        </h:form>
    </h:body>
</html>

3 Respostas

drsmachado

Por que você não instancia o User, apenas o referencia.
Instanciar é, além de indicar que uma variável terá um determinado tipo, atribuir à esta um valor.

User user = new User()//aqui instancia e atribui o valor
ClaudioRamone

drsmachado:
Por que você não instancia o User, apenas o referencia.
Instanciar é, além de indicar que uma variável terá um determinado tipo, atribuir à esta um valor.

User user = new User()//aqui instancia e atribui o valor

entao na classe usuario eu só faço as declarações? e no managed eu dou valores…crio as listas que for utilizar?

drsmachado

Você faz o que quiser na classe User. E o que quiser no managedBean.
Agora, se quer que sua página traga algum valor, precisa fazer o que eu disse acima (considerando a forma como criou a classe User, atribuindo um nome estático).
Se quiser fazer o contrário, terá de atribuir um commandButton ou commandLink e criar um método para receber valor do xhtml no managedBean.

Criado 17 de junho de 2011
Ultima resposta 17 de jun. de 2011
Respostas 3
Participantes 2