JSF - direcionar para página direto sem ter que configurar o navigation rule

7 respostas
B

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:

public String editarPessoa() {

	return "cadastroPessoa"; //direciona para /pages/pessoas/cadastro.jsp
}

agora sem ter que configurar o navigation rules:

public String editarPessoa() {

	return "/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.

7 Respostas

Eduardo_Bregaida

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 :smiley:

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

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

@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.

@albertongai
você não entendeu o problema.

@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 :smiley:
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

Tenta assim:

Espero ter ajudado
att
[]s

B

@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.

Criado 23 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 7
Participantes 6