Olá a todos, fiz uma telinha de castro de clientes seguindo o tutorial de jsf existente aqui no guj, mas acontece que ao clicar no commandobutton que chama o metodo inserir da classe Cliente, acontece este erro:
Dica: por algum motivo, a maior parte das tecnologias J2EE não funciona bem com classes “sem pacote”. Ponha sua classe Cliente em um pacote (por exemplo, br.com.exemplo.Cliente) e tente novamente.
F
fghack
Beleza vou fazer isto e posto aqui o resultado!
Muito obrigado pela atenção!
F
fghack
nada o mesmo erro ainda, coloquei o package na classe e recompile e no faces-config.xml alterei informando o caminho completo, br.minhaplicacao como coloquei no class.
O que pode ser?
R
riquebueno
como eh o metodo inserir?
F
fghack
Olá Amigo, segue abaixo o metdodo:
publicbooleaninserir(){
try{
stm=con.createStatement();stm.execute("INSERT INTO cliente(nome,fantasia,cnpj,inscricao,endereco,bairro,cidade,telefone) VALUES ('"+nome+"','"+fantasia+"','"+cnpj+"','"+inscricao+"','"+endereco+"','"+bairro+"','"+cidade+"','"+telefone+"')");stm.close();returntrue;}catch(SQLExceptione){
e.printStackTrace();returnfalse;}
}
jurunaloco
manda benze cara
R
riquebueno
o metodo associado ao botao deve ter uma assinatura especifica. Ele nao deve ter parametros e deve retornar String (outcome). Este outcome sera utilizado pelo navegador para determinar a proxima pagina a ser exibida.
public class Avaliador
{
…
public String autenticaUsuario() throws Exception
{
…
}
…
F
fghack
riquebueno:
o metodo associado ao botao deve ter uma assinatura especifica. Ele nao deve ter parametros e deve retornar String (outcome). Este outcome sera utilizado pelo navegador para determinar a proxima pagina a ser exibida.
public class Avaliador
{
…
public String autenticaUsuario() throws Exception
{
…
}
…
Obrigado pela resposta, mas ainda assim deu o mesmo erro
F
fghack
riquebueno:
o metodo associado ao botao deve ter uma assinatura especifica. Ele nao deve ter parametros e deve retornar String (outcome). Este outcome sera utilizado pelo navegador para determinar a proxima pagina a ser exibida.
public class Avaliador
{
…
public String autenticaUsuario() throws Exception
{
…
}
…
Eu não to usando o outcom, estaria ligado a isto?
jurunaloco
manda exorcisa tua pasta webapps
ngm me escuta
R
riquebueno
acho q pode ser. Todo metodo chamado por um action de um botao deve ser assim! A saida do metodo (outcome string) vai ser comparada com os mapeamentos definidos no faces-config.xml para definir a proxima pagina a ser exibida.
dgrava
Dá uma olhada nesse link e vê se pode te ajudar de alguma forma:
Oi Amigo eu li mas não consegui entender a resolução, pelo que vi foi no jboss a resolução.
[s]
F
fghack
Segui a dica de um colega e fiz outra pasta com outro nome e funcionou, não dá mais o erro do base is null, mas em contrapartida está dando outro erro olhe o danado:
nao é problema de navegation rule pois ele nem mesmo acha a classe para executar o metodo e preencher as edits.
é algum problema com as pastas nao sei por qual motivo. nao coloquei os jar na pasta lib do tomcat para teste. mas qdo tive o problema. fiz um novo deploy compilei e funfo certo…
agora nao sei por qual motivo ele faz isso…
F
fghack
jurunaloco:
nao é problema de navegation rule pois ele nem mesmo acha a classe para executar o metodo e preencher as edits.
é algum problema com as pastas nao sei por qual motivo. nao coloquei os jar na pasta lib do tomcat para teste. mas qdo tive o problema. fiz um novo deploy compilei e funfo certo..
packagecom.app.Pessoas;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;publicclassCliente{Stringnome,fantasia,cnpj,inscricao,endereco,bairro,cidade,telefone;Stringurl;Connectioncon;Statementstm;Stringstatus;publicCliente(){try{Class.forName("org.postgresql.Driver");url="jdbc://postgresql://localhost:5432/banco";con=DriverManager.getConnection(url,"admin","123");}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}}publicStringgetNome(){returnnome;}publicStringgetFantasia(){returnfantasia;}publicStringgetCnpj(){returncnpj;}publicStringgetInscricao(){returninscricao;}publicStringgetEndereco(){returnendereco;}publicStringgetBairro(){returnbairro;}publicStringgetCidade(){returnbairro;}publicStringgetTelefone(){returntelefone;}publicvoidsetNome(Stringnome){this.nome=nome;}publicvoidsetFantasia(Stringfantasia){this.fantasia=fantasia;}publicvoidsetCnpj(Stringcnpj){this.cnpj=cnpj;}publicvoidsetInscricao(Stringinscricao){this.inscricao=inscricao;}publicvoidsetEndereco(Stringendereco){this.endereco=endereco;}publicvoidsetBairro(Stringbairro){this.bairro=bairro;}publicvoidsetCidade(Stringcidade){this.cidade=cidade;}publicvoidsetTelefone(Stringtelefone){this.telefone=telefone;}publicStringinserir(){try{stm=con.createStatement();stm.execute("INSERT INTO cliente(nome,fantasia,cnpj,inscricao,endereco,bairro,cidade,telefone) VALUES ('"+nome+"','"+fantasia+"','"+cnpj+"','"+inscricao+"','"+endereco+"','"+bairro+"','"+cidade+"','"+telefone+"')");stm.close();status="sucesso";returnstatus;}catch(SQLExceptione){e.printStackTrace();status="falha";returnstatus;}}}
F
fghack
ja estou pensando em seguir as dicas do juruna loco e exorcisar meu micro eheh, apaguei tudo fiz tudo novamente e dá o mesmo erro.