Galera o negocio é o seguinte, não se se ja repararam, mais o jsf sempre apresenta um delay da url aonde vc esta quando se esta navegando pelas actions do mesmo mesmo.
ou seja quando vc esta na pagina.jsf e clica num action que o bean levara vc para pagina2.jsf, a url que mostra na barra de endereço do browser é da pagina.jsf.
o problema é que eu preciso que meu filtro veja que esta na pagina2.jsf, so o endereço que esta acessando é da pagina.jsf mais o conteudo da pagina2.jsf.
me fiz entender :?: :?: :?: :?:
alguem sabe como posso resolver este impasse :?: :?: :?:
No meu filter coloquei com /admin/*
ai quando ele processa uma página tipo /admin/pagina2.jsf so que na barra de enderço esta /pagina.jsf ele não passa pelo filtro.
vc nao tem esse tipo de problema?
como esta configurado seu filtro?
e Mauricio quando faz o post a url do browser vai para o action que esta configura do form.
so que no jsf o action que fica no form é como se fosse a mesma página.
ele não aponta para um determinado bean, como no struts aponta para uma action.
Maurício Linhares, obrigado pela dica em forms.
Quanto ao filter, como sabemos, várias implementações são possíveis. Eu uso um arquivo xml onde declaro quais as páginas protegidas (ou desprotegidas, depende do nro de pgs) + uma classe que extende Filter com a implementação dos métodos pertinentes.
Meu web.xml:
Vc não tem problema pois esta pegando todos os arquivos com /, meu problema surge a partir do momento em que tenho que ter a percepção que sai de /.jsf para /admin/*.jsf
Mas então vc poderia resolver programaticamente seu problema, não?
Avaliando se a requisição é para o “setor administrativo” e se o usuário está logado (e mais outros critérios que vc necessita).
Creio que existam soluções mais “limpas” que esta, mas de imediato, isso resolveria.
Verifique métodos getContextPath() e getContextURI() em suas requisições.
Esses metodos ja uso no meu filter normalmente.
A questão é que como o action do jsf aponta para a propria página, mais na verdade no momento em que ele gera a pagina ele percebe pelo faces config qual pagina deve ser exibida.
caraca não é possivel que não tenha algo que eu possa fazer para não que fazer nenhuma gabiarra.
:evil:
Também estou com este mesmo problema!!
E em várias situações preciso pegar a url da página que está sendo carregada, e não da que fez a requisição…
Fiz um controle de módulos do sistema, onde cada grupo de usuários tem permissão em determinados módulos.
Quando o usuário clica por exemplo em um botão que redireciona para um módulo diferente, eu preciso gravar na sessão, qual o módulo que o cara está acessando no momento. Isto eu consegui fazer com um filtro, que pega a url e busca o módulo a que ela pertence.
Porém devido ao problema que o Amorim relatou, o sistema só “percebe” que mudou de módulo quando faço a segunda requisição (já dentro do novo módulo).
Como “gambiarra” coloquei no método do botão que muda de módulo a mesma coisa que faz o filtro (gravar o módulo que será acessado na sessão), mas não queria que fosse assim… pois em todo lugar que o sistema passar de um módulo a outro terei que repetir este código… :?
Deve existir mesmo alguma maneira de resolver isso!! Se alguém souber… por favor… rsrs
Ai galera eu estou com o mesmo problema referente a url só q no caso tenho a seguinte estrutura de diretório:
web
-imgs
-css
-templates
-pages
-index.jsp
no meu index eu direciono a página para detro de pages mais ele ñ exibe as imagens perde completamente o caminho mais quando eu clico no botão do form desta mesma página ai funciona
Alguem sabe como eu poderia resolver sem mexer na estrutura de diretórios???
Boa noite, vi esse topico procurando pelo google… tb estou com esse problema… porem gostaria de saber se tem outra solução alem a de usar o redirect… pois o redirect traz alguns problemas… e so posso usar ele quando realmente é necessario…