JSF - direcionar para página direto sem ter que configurar o navigation rule
7 respostas
B
bobmoe
Só por curiosidade... Nas actions é possível direcionar para página direto sem ter que configurar o navigation rule?
Ou seja, passar o caminho do jsp em vez de passar o From-Outcome. Me lembro que isso era possível no Seam, mas utilizando o RI 1.2 não consigo mais fazer essa malandragem.
Ou devo estar louco? :D
Por exemplo:
Esse seria o jeito chato do JSF:
publicStringeditarPessoa(){
return"cadastroPessoa"; //direciona para /pages/pessoas/cadastro.jsp
}
Antes de mais nada, eu entendo que existem situações em que configurar navigation rules seja necessário. Contudo para a maioria dos casos, isso só me tem dado trabalho extra.
Creio que não seja possivel, eu nunca tentei, mas normalmente o Seam por ser uma implementação de JSF possua facilidades q o proprio JSF nao deve ter… em especial esta eu nao sei, mas n acho q tenha… Bom, postei aqui pq quero acompanhar essa thread
febatata
que tal response.sendRedirect?
Estarei acompanhando também!
albertongai
Mas você fazer isso a partir do que? No momento que carregar a página já fazer o redirecionamento ou a partir de um click de um commandbutton? Se for o segundo caso é so colocar o nome do from-outcome no propriedade action do commandbutton por exemplo e correr pro abraço!rsss…
L
Leonardo3001
Isso é uma das coisas que vem com o Seam.
Mas se você adora “monkey patch”, pode escrever um NavigationHandler próprio (uma classe que o estenda) que, se tiver a string começando com “/”, você chama a view diretamente, caso contrário, chama o NavigationHandler padrão.
B
bobmoe
@bregaida
pois é, e são essas facilidades que estão fazendo falta…
@batata
a idéia seria isso mesmo, mas queria fazer da mesma forma que o Seam, pois é bem mais prático.
@Leonardo3001
Não é que eu adore monkey patch, simplesmente odeio navigation rules… mas valeu por ter me ensinado o termo técnico correto pra isso
a sua dica de escrever o próprio NavigationHandler parece resolver o problema, mas queria escapar desse tipo de solução… simplesmente fazendo alguma configuração (que pelo jeito não existe).
B
brunolinsalves
Tenta assim:
Espero ter ajudado
att
[]s
B
bobmoe
@bruno
Sua solução está no mesmo caminho do batata, ou seja, funciona mas não é prática como a do Seam. Eu estava procurando resolver isso de forma nativa, só por configuração.
De qualquer forma, valeu a ajuda.
Não tem muito pra onde correr, se eu quiser essas facilidades vou ter que usar Seam mesmo.