Pessoal estou tendo problemas com imagens do meu sistema. Faço o login do sistema e caiu na página principal, até ai os javaScripts funcionam normalmente, o problema é quando vou para uma outra página, cadastro de cliente por exemplo, ai os javaScripts nao funcionam, nao sao encontrados. Alguém pode me ajudar ???
Abaixo esta minha estrutura de páginas, para ficar mais claro:
o amigo, vc denovo me ajudando kkk…
Nao entendi oq vc quis dizer com detalhar o fonte mas é assim, tenho uma página xhtml e dentro do head dela eu chamo o javaScript e tudo mais:
Opção 1:
Caso teu web.xml esteja configurado e utilizando a página principal.xhtml como inicio, quando vc entra teu header vai procurar o javascript.
Este javascript esta apontando para: “…/resources/javaScripts/acoes.js”.
Vc, atualmente esta no seu diretório raiz, ou seja /, que seria o WebContent.
A aplicação, procurando pelo diretório “…/resources/javaScripts/acoes.js”, não o encontra pois seu javascript esta no “WebContent/resources/javaScripts/acoes.js”.
A aplicação tenta localizar uma pasta resources um diretório acima do WebContent.
Opção 2:
Vc entrou com a URL especificando diretórios e página e o JS apareceu, blza.
Agora, quando vc clicar em algum link que mande para página “cliente.xhtml”, mais uma vez o JS nao vai ser encontrado.
Repare que o diretório da página principal é: pages/principal.xhtml.
O diretório da página cliente é: pages/cadastro/cliente.xhtml
Na página principal, o JS será encontrado, na do cliente não.
Resultado da busca na página principal: resources/javaScripts/acoes.js
Resultado da busca na página cliente: pages/resources/javaScripts/acoes.js e ai, não irá encontrar.
Não sei se vc conseguiu entender, mais o “…” apenas sobe um diretório, e tuas outras páginas estão um diretório abaixo da página principal.
A solução poderia usar aquele esquema da base que já te expliquei, ou aquele outro link que te mandei. http://www.guj.com.br/java/263008-css-nao-encontrado
Outra solução mais simples…
Utilize “…/resources/javaScripts/acoes.js” na página principal.
Utilize “…/…/resources/javaScripts/acoes.js” nas páginas inclusas dentro do diretório “cadastro”.
Funcionou perfeito. Mas dai para cada página vai ser um caminho? É que estou usando facelets dai um definia o caminho lá na página main, por exemplo, e nunca mais precisava chamar javaScript nas outras páginas, entende?
Então…
Ai é vc quem define tua estratégia de navegação entre diretórios…
Se vc mantiver assim, caso qndo vc criar uma página um diretório acima, vc tem de retirar um “…”.
Quando vc criar uma página que esteja um diretório abaixo, vai ter de adicionar “…”.
Eu geralmente utilizo a tag no header da página.
Com essa tag vc define o teu caminho, e aponta para seus arquivos a partir deste caminho base, esteja em qlqr arvore de diretórios da aplicação.
Ai vai da tua estratégia.
Confesso que eu prefiro trabalhar com JSP.
Eu acredito que o JSF pode oferecer componentes prontos, mas não oferece muita flexiblidade e ainda cria uma dependência de facelets.
Devem existir outras estratégias que eu desconheço.