Pessoal, estou tentando aprender JSF, mas ta osso, principalmente pela falta de material na internet, diferente do Hibernate por exemplo.
Vamos ao problema: Apenas para fins didaticos, estou criando uma pagina de login, entao eu criei um link para cadastrar usuarios logo na pagina principal, para chamar outra pagina, no caso cadUsuario.jsp, porem quando esta página e carregada, aparece um erro na linha do meu cadUsuario.jsp . Onde estou errando ??? Alguem poderia me ajudar ??
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
no inicio das jsps
ps: se vc n esta achando material é pq n procurou direito, tem muuuuuuuuuuuuuuuuuuuuuuuuuuuito material
Morpheus_Urubu
Eu declarei as taglibs sim ! eu apenas nao postei aqui o codigo completo.
Index.jsp
<%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><f:view><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>NetBuilder - Autenticação</title></head><body><h1><h:outputTextvalue="Autenticação"/></h1><h:form><h:inputTextvalue="#{usuario.login}"/><h:inputSecretvalue="#{usuario.senha}"/><h:commandButtonaction="#{usuarioDAO.logar}"/><h:outputLinkvalue="cadUsuario.jsp"><f:verbatim>Cadastrar</f:verbatim></h:outputLink></h:form></body></html></f:view>
O tamanho máximo de carregamento permitido em bytes. Caso seja definido com um valor negativo, não há máximo. O valor padrão é 1000000.
maxSize
1000000
O tamanho (em bytes) de um arquivo carregado que, se for excedido, fará com que o arquivo seja gravado diretamente no disco em vez de armazenado na memória. Arquivos menores ou iguais a esse tamanho serão armazenados na memória. O valor padrão é 4096.
sizeThreshold
4096
Não tive mta experiência com JSF… mais pelo que vi vc declarou um <f:view> dentro do bloco e outro Fora
Não sei se tem alguma coisa a ver mais dá uma olhada!!
Morpheus_Urubu
Nem, os dois estao declarados fora, seguindo a estrutura <f:view>…
Mas eu ja tentei inverter a ordem, <f:view> e nada !
a tag <f:view> e necessaria para identificar que se trata de uma pagina JSF, certo ? Nao entendo pq o erro aponta sempre para esta Tag
R
Renato_natos
Não conheço muito mas. as taglibs não teriam que ficar dentro da tag html?
Morpheus_Urubu
Pois eh, como eu tinha dito anteriormente, eu tentei colocar todas as tags da seguinte forma <f:view>, porem o erro continua o mesmo…
Vou tentar remontar um projeto IDENTICO a de um tutorial aqui, pra ver se eu descubro num step-by-step onde eu posso estar errando… fazer o que, grana ta curta pra comprar um livro ! hahahahaha Se alguem souber do que se trata o erro, por favor me ajudem !
R
Renato_natos
Tente desta forma:
<%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
//tente coloca-las aqui
<%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>NetBuilder - Autenticação</title></head><body><f:view><h1><h:outputTextvalue="Autenticação"/></h1><h:form><h:inputTextvalue="#{usuario.login}"/><h:inputSecretvalue="#{usuario.senha}"/><h:commandButtonaction="#{usuarioDAO.logar}"/><h:outputLinkvalue="cadUsuario.jsp"><f:verbatim>Cadastrar</f:verbatim></h:outputLink></h:form></f:view></body></html>
Morpheus_Urubu
Infelizmente negativo, o problema persiste =/
rogeriuslima
Cara, vc tá usando o tomcat?
Ele tem umas frescuras que agente tem que resolver pra usar jsf com ele.
Vc não postou todo o stack trace do erro, mais ele deve ser isso:
Se vc quiser eu posso disponibilizar alguns livros em pdf (em ingles) em algum servidor.
Boa sorte
Morpheus_Urubu
Sim, eu to usando o tomcat !! Vou ver agora cara, Deus queria que seja !
Morpheus_Urubu
Mudei meu servidor para o Glassfish V2, porem, nada !!! Ja nao sei mais o que fazer. Será que o problema pode estar no Netbeans 6.5 ?
rogeriuslima
Cara, posta todo o texto do erro que ocorre.
gcouti
Olá diegocharles ,
Eu tive muitos problemas para configurar o tomcat inicialmente, e um dos problemas que eu tive foi um bem parecido com o seu. Eu lembro que eu resolvi essa questão de TLDs inserindo essas tags no web.xml . Verifique se inserindo isso você resolve seu problema:
Isso deve-se ao fato de sua página inicial ser um JSP contendo a tag <f:view> indicando ser uma página contendo tags JSF. Infelizmente não sei dizer porque isso ocorre, mas você pode resolver isso criando uma página simples apenas para um redirect para sua página inicial, contornando esse problema do FacesContext.
pode fazer assim por exemplo:
<jsp:forwardpage="faces/index.jsp"></jsp:forward>
Isso irá inicializar o FacesContext (acho que é isso) e sua página irá funcionar normalmente.
Todos os meus projetos JSF tenho configurados dessa forma e já fiz alguns testes e dessa forma funciona perfeitamente. Falta ainda achar uma justificativa técnica para esse problema/solução, e caso encontre compartilharei com a comunidade.
Abraço!
edivandecastro
pessoal estou enfrentando esse mesmo problema, estou tentando criar uma aplicação de hello world! com JSF mas estou apanhando a uma semana. diegocharles vc consequio resolver o problema com a dica do amigo acima, estou tentando mais não estou conseguindo.
R
raulcpinheiro
Edivan,
está usando qual AppServer? Tomcat, JBoss, Glassfish? Eu uso Glassfish V2. Muito bom por sinal. A versão do Netbeans que estou usando é a 6.5. Caso esteja utilizando o Netbeans, quando iniciar um projeto JSF, ele já monta uma estrutura básica, com um “hello world” padrão. Tente criar um projeto nele e comparar com o que tem feito. Foi assim que resolvi esses problemas de “Cannot find FacesContext”. Não progredindo, é só voltar aqui e pedir ajuda denovo!
Abraço!
edivandecastro
raul eu usei o netbeans e deu certo usando o servidores GlassFish, Tomcat e JBoss. copie os arquivos web.xml e paginas jsfs para o eclipse e fiz os mesmos teste.
o qual só funcionol com o tomcat. agora estou estudando pq no eclipse não funciona executar a aplicaçõa no JBoss e no GlassFish. isto tb esta acontecendo com uma aplicação que já tenho pronta quando tento executar em um servidor diferente do tomcat a aplicação não funciona.
R
raulcpinheiro
O problema que está encontrando utilizando Eclipse e fazendo deploy no GF ou JB é o mesmo de antes?