JSF: uma tela saber quem a chamou

Pessoal, estou utilizando JSF com richfaces e tenho a seguinte necessidade:

Tenho um cadastro de obra que possui um select para os clientes. Caso o cliente não esteja na seleção, preciso colocar um botão que chame a tela de cadastro de clientes e em seguida retorne.

Coloquei um commandButton que chama o cadastro de clientes, mas aí está o problema: quando terminar de chamar o cliente, quero voltar ao cadastro de obras. Só que como meu cadastro de clientes é chamado de várias telas, o botão “Voltar” que coloco nele precisa saber quem o chamou pra retornar corretamente.

Não é uma situação difícil de precisar, deve existir uma forma fácil de fazer isso, mas ainda não encontrei, pode ser via JSF, Javascript ou Richfaces que não tem problema.

Alguém já passou por uma situação semelhante?

Olá.

Esse cadastro de cliente não poderia ser feito em um modalPanel?

[quote=raf4ever]Olá.

Esse cadastro de cliente não poderia ser feito em um modalPanel?[/quote]

Oi. Pode ser sim, mas tem como chamar o mesmo modalPanel de vários formulários?

Por exemplo, do cadastro de obras, do cadastro de despesas, do menu principal, etc.

[quote=marcosalex][quote=raf4ever]Olá.

Esse cadastro de cliente não poderia ser feito em um modalPanel?[/quote]

Oi. Pode ser sim, mas tem como chamar o mesmo modalPanel de vários formulários?

Por exemplo, do cadastro de obras, do cadastro de despesas, do menu principal, etc.[/quote]

Dá sim.
Basta vc ter seu modalPanel num .xhtml á parte e ir dando ui:include onde for necessário.

Basta você salvar a sua string que faz referencia a tela anterior em uma variavel dentro do bean.
por exemplo vc tem um botao que chama a action x.

String ultimatela;

public String x(){
   ultimatela = "sei_la";
   return "proxima_tela";
}

depois é só usar a string da tela que voce quer.

[quote=PedroGuerra]Basta você salvar a sua string que faz referencia a tela anterior em uma variavel dentro do bean.
por exemplo vc tem um botao que chama a action x.

String ultimatela;

public String x(){
   ultimatela = "sei_la";
   return "proxima_tela";
}

depois é só usar a string da tela que voce quer.[/quote]

Mas daí minha string estaria em um bean e minha proxima tela estaria no outro bean.