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 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
Javabuntu
estás a usar uma variável com referência nula, posta seu código ai.
RobsonFagundes
Bom Dia Javabuntu
pois eh veio erro de programação hehehhehehehehheeh
java.lang.NullPointerException
ta loko noob total … intaum o cod eh este
packagetesteweb;importcom.sun.rave.web.ui.appbase.AbstractPageBean;importcom.sun.webui.jsf.component.StaticText;importcom.sun.webui.jsf.component.TextField;importjavax.faces.FacesException;publicclassPage1extendsAbstractPageBean{publicTextFieldtfNome;publicStaticTextstOla;privatevoid_init()throwsException{}publicPage1(){}@Overridepublicvoidinit(){// Perform initializations inherited from our superclasssuper.init();try{_init();}catch(Exceptione){log("Page1 Initialization Failure",e);throweinstanceofFacesException?(FacesException)e:newFacesException(e);}}@Overridepublicvoidpreprocess(){}@Overridepublicvoidprerender(){}@Overridepublicvoiddestroy(){}protectedSessionBean1getSessionBean1(){return(SessionBean1)getBean("SessionBean1");}protectedRequestBean1getRequestBean1(){return(RequestBean1)getBean("RequestBean1");}protectedApplicationBean1getApplicationBean1(){return(ApplicationBean1)getBean("ApplicationBean1");}// Seters and GeterspublicTextFieldgetTfNome(){returntfNome;}publicvoidsetTfNome(TextFieldtfNome){this.tfNome=tfNome;}publicStaticTextgetStOla(){returnstOla;}publicvoidsetStOla(StaticTextstOla){this.stOla=stOla;}// Action do BotaopublicStringbtnOla_action(){Stringnome=(String)tfNome.getText();stOla.setText("Ola, "+nome);returnnull;}}
Valeu
hudson.negao
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();
}
RobsonFagundes
hudson.negao:
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();
}
Intaum hudson.negao fiz isso nao da mais erro !!!!!!!!!!!
mais tmb nao aparece nada hhehehhehehehhe :?
valew
RobsonFagundes
Intaum Colegas eu Debuguei o codigo
esta linha String nome = (String) tfNome.getText();
nao funga !!! a variavel “nome” o value dela esta “null” …
:?
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.
RobsonFagundes
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.
Intaum renatocustodio se eu nao inicializar as variaveis da erro de NullPointer
da uma olhada
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?
RobsonFagundes
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…
renatocustodio
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í.
RobsonFagundes
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
renatocustodio
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.
RobsonFagundes
eh renatocustodio aki ja tentei de td e nada
:?
vlw
hudson.negao
cara si nao deu certo do outro jeito tenta algo desse jeito ai
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”