Duvida Visual Web JSF

Estou tentando fazer um exemplo onde o usuario digita seu nome em um textField q qndo clicar
em um Buttonas informacoes do textField sao setadas em um StaticText.

estou aprendendo JSF sozinho, e tentei fazer o seguinte cod na class da Pagina, no meu caso
pagina “index.jsp”:

   public String helloBtn_action() {    
       String name = nameField.getText();    
       helloText.setText("Hello "+ name);    
       return null;    
    }    

so que o netbeans nao encontra os campos textField e StaticText … alguem sabe pq ???
o exemplo que estou seguindo eh http://testwww.netbeans.org/kb/60/web/helloweb_pt_BR.html
Valeu!!!

Opa!!!

Você tem que declarar estes tipos

Entre no modo JAVA da sua Aplicação e faça o seguinte:

[code]public class Page1 extends AbstractPageBean {

private TextField textField1;
private StaticText staticText1;

public StaticText getStaticText1() {
    return staticText1;
}

public void setStaticText1(StaticText staticText1) {
    this.staticText1 = staticText1;
}

public TextField getTextField1() {
    return textField1;
}

public void setTextField1(TextField textField1) {
    this.textField1 = textField1;
}[/code]

Agora altere os nomes para o qual está usando e teste.

O Brother valeu mesmo
puts eu tava dando um de noob
tava declarando eles como Objeto

     private Object nameField;  
     private Object helloText; 

puts hehehhehehehheheh
blz fiz os seters e geters deu certinho
Valeu ai somma !!!
Abraço

[quote=somma]Opa!!!

Você tem que declarar estes tipos

Entre no modo JAVA da sua Aplicação e faça o seguinte:
Agora altere os nomes para o qual está usando e teste.

[/quote]

Somma fiz certinho la declarei os atributos do tipo

import com.sun.webui.jsf.component.StaticText;
import com.sun.webui.jsf.component.TextField;

so q esta dando um erro de Null Point no metodo!!!

    public String btnOla_action() {
        String nome = (String) tfNome.getText();
        stOla.setText("Ola, " + nome);
        return null();
    }

sera pq esta retornando Null ???
Ate Mais Valeu

há o erro e este

SEVERE: Servlet.service() for servlet Faces Servlet threw exception java.lang.NullPointerException at testeweb.Page1.btnOla_action(Page1.java:161)
Flw

estás a usar uma variável com referência nula, posta seu código ai.

Bom Dia Javabuntu
pois eh veio erro de programação hehehhehehehehheeh

java.lang.NullPointerException

ta loko noob total … intaum o cod eh este


package testeweb;

import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.StaticText;
import com.sun.webui.jsf.component.TextField;
import javax.faces.FacesException;


public class Page1 extends AbstractPageBean {

    public TextField tfNome;
    public StaticText stOla;
        
    

    private void _init() throws Exception {
    }


    public Page1() {
    }


    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();

        try {
            _init();
        } catch (Exception e) {
            log("Page1 Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
        }

    }


    @Override
    public void preprocess() {
    }


    @Override
    public void prerender() {
    }

    @Override
    public void destroy() {
    }


    protected SessionBean1 getSessionBean1() {
        return (SessionBean1) getBean("SessionBean1");
    }


    protected RequestBean1 getRequestBean1() {
        return (RequestBean1) getBean("RequestBean1");
    }


    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

// Seters and Geters
	
    public TextField getTfNome() {
        return tfNome;
    }

    public void setTfNome(TextField tfNome) {
        this.tfNome = tfNome;
    }

    public StaticText getStOla() {
        return stOla;
    }

    public void setStOla(StaticText stOla) {
        this.stOla = stOla;
    }

//  Action do Botao
    public String btnOla_action() {
        String nome = (String) tfNome.getText();
        stOla.setText("Ola, " + nome);
        return null;
    }
}

Valeu

cara eu tentaria algo desse jeito
inicializar as variaveis que vc ta usando.

  public TextField tfNome;  
  public StaticText stOla;  
           
       
   
     private void _init() throws Exception {  
     }  
   
   
     public Page1() { 
        tfNome = new TextField();
        stOla = new StaticText();
     }  

[quote=hudson.negao]cara eu tentaria algo desse jeito
inicializar as variaveis que vc ta usando.

[code]
public TextField tfNome;
public StaticText stOla;

 private void _init() throws Exception {  
 }  


 public Page1() { 
    tfNome = new TextField();
    stOla = new StaticText();
 }  

[/code][/quote]

Intaum hudson.negao fiz isso nao da mais erro !!!
mais tmb nao aparece nada hhehehhehehehhe :?
valew

Intaum Colegas eu Debuguei o codigo
esta linha String nome = (String) tfNome.getText();
nao funga !!! a variavel “nome” o value dela esta “null” …
:?

Acho que ele não deveria inicializar as variáveis, pois o jsf que faria isso pra ele automaticamente.

     public TextField tfNome;  
     public StaticText stOla;  

Muda de public pra private. E confere se na página web elas estão com esse mesmo nome.

[quote=renatocustodio]Acho que ele não deveria inicializar as variáveis, pois o jsf que faria isso pra ele automaticamente.

     public TextField tfNome;  
     public StaticText stOla;  

Muda de public pra private. E confere se na página web elas estão com esse mesmo nome.[/quote]

Intaum renatocustodio se eu nao inicializar as variaveis da erro de NullPointer
da uma olhada

28/05/2008 11:03:40 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
        at testeweb.Page1.btnOla_action(Page1.java:160)

Flw

e a questão que falei de por como private, gerar gets e sets e ver se na página web estão com os mesmos nomes, vc checou?

sim renatocustodio estao iguaizinho inclusive copei os nomes das var de la;
mudei agora pra private e refiz os sets e gets novamente e nada, nao da erro
mais tmb nao o conteudo da var nome no StaticText…

hum… Já é um começo, pelo menos não dá mais erro.
(vc não tá instanciando esses objetos na mão não né?)

Qualquer coisa experimenta dar uma debugada pra ver como esses valores estão chegando aí.

isso eu to instanciando eles na mao!!!
intaum ja debuguei a variavel “nome” esta com o value “null” …
esta linha

String nome = (String) tfNome.getText();  

nao ta fazendo o getText() do tfNome

Então não instancie ele na mão. Se tiver algum problema não vai ser isso. Ele tem que vir com algum valor sem que vc instancie.

eh renatocustodio aki ja tentei de td e nada
:?
vlw

cara si nao deu certo do outro jeito tenta algo desse jeito ai

   
public class Page1 extends AbstractPageBean {  
 
private TextField tfNome;  
private StaticText stOla;  
     
  
public Page1() {  
     tfNome = new TextField();
}  
   
     
 //  Action do Botao  
public String btnOla_action() {  
  String nome = (String) tfNome.getText();  
   // stOla   .setText("Ola, " + nome);  
   stOla = new StaticText("Ola, "+nome);       
    

  return null;  
}  

[quote=hudson.negao]cara si nao deu certo do outro jeito tenta algo desse jeito ai

[code]

public class Page1 extends AbstractPageBean {

private TextField tfNome;
private StaticText stOla;

public Page1() {
tfNome = new TextField();
}

// Action do Botao
public String btnOla_action() {
String nome = (String) tfNome.getText();
// stOla .setText("Ola, " + nome);
stOla = new StaticText("Ola, "+nome);

return null;
}
[/code][/quote]

tentei isso antes de pedir ajuda .,…
vlw

Solução:

O Netbeans cria sim as instâncias dos componentes na classe relacionada a página JSF editada através do Visual Web JSF. Para isso, sobre um componente basta clicar com o botão direito do mouse sobre um componente e clicar na opção “Add binding atributte”. Assim o Netbens cria uma comunicação entre os componentes no arquivo JSP e na classe Java, criando também, automaticamete, as instâncias desses componentes na classe Java bem como os métodos get e set desses componentes.

Depois vocÊ podera chamar os atributos sem problemas e sem retornar NULL, pois agora os mesmos estão “linkados”

Att